• 如何调用SQLDMO读取SQL Server服务器列表及指定服务器的数据库列表


    KeyLife富翁笔记
    作者: HongYuan
    标题: 如何调用SQL-DMO读取SQL Server服务器列表及指定服务器的数据库列表
    关键字: SQL-DMO
    分类: 个人专区
    密级: 公开
    (评分: , 回复: 0, 阅读: 533) »»

    procedure TFormServerSelect.GetDatabasesLsit(FDatabasesLsit:TStrings);
    var
      SQLServer, DBList: Variant;
      i, iDatabasesCount: Integer;
    begin
      if not CurrAutoConfigurationSqlServerParams then exit;
      if FDatabasesLsit=nil then FDatabasesLsit:=cbxDataBases.Items;
      FDatabasesLsit.Clear;
      try
        SQLServer := CreateOleObject('SQLDMO.SQLServer');
        SQLServer.LoginSecure := cbxLoginSecure.Checked;
        SQLServer.LoginTimeout := 15;// 设定超时时间
        SQLServer.Connect(edtServerName.Text,edtUserName.Text,edtUserPassword.Text);
        DBList := SQLServer.Databases;
        iDatabasesCount := DBList.Count;
        for i := 1 to iDatabasesCount do
          FDatabasesLsit.Add(DBList.Item(i).Name);
        SQLServer := NULL;
        DBList := NULL;
        Application.MessageBox('连接成功,您现在可以从数据库列表中选择存在的数据!','信息提示',MB_OK+MB_ICONINFORMATION);
      except
        Application.MessageBox('当前服务器登录失败,用户名或口令输入错误,请重新输入!','信息提示',MB_OK+MB_ICONINFORMATION);
      end;
    end;


    procedure TFormServerSelect.GetDatabasesLsit(FDatabasesLsit:TStrings);
    var
      SQLServer, DBList: Variant;
      i, iDatabasesCount: Integer;
    begin
      if not CurrAutoConfigurationSqlServerParams then exit;
      if FDatabasesLsit=nil then FDatabasesLsit:=cbxDataBases.Items;
      FDatabasesLsit.Clear;
      try
        SQLServer := CreateOleObject('SQLDMO.SQLServer');
        SQLServer.LoginSecure := cbxLoginSecure.Checked;
        SQLServer.LoginTimeout := 15;// 设定超时时间
        SQLServer.Connect(edtServerName.Text,edtUserName.Text,edtUserPassword.Text);
        DBList := SQLServer.Databases;
        iDatabasesCount := DBList.Count;
        for i := 1 to iDatabasesCount do
          FDatabasesLsit.Add(DBList.Item(i).Name);
        SQLServer := NULL;
        DBList := NULL;
        Application.MessageBox('连接成功,您现在可以从数据库列表中选择存在的数据!','信息提示',MB_OK+MB_ICONINFORMATION);
      except
        Application.MessageBox('当前服务器登录失败,用户名或口令输入错误,请重新输入!','信息提示',MB_OK+MB_ICONINFORMATION);
      end;
    end;


    2005-6-21 15:38:56
  • 相关阅读:
    Docker决战到底(三) Rancher2.x的安装与使用
    golang实现给图片加水印
    golang实现图片水印效果
    百度ueditor 编辑器使用问题收集
    重要的文件和数据,别放在/tmp下
    在CentOS 7上切换默认的java版本
    [转载]Centos和RedHat的区别和联系
    在Excel的公式框内输入换行符
    Outlook打不开,报错信息为“The time limit for logging on was reached while waiting for system resources. Try again. MAPI 1.0 [000004C2]”
    VMXNET3与E1000E与E1000的比较
  • 原文地址:https://www.cnblogs.com/ZhouXiHong/p/568271.html
Copyright © 2020-2023  润新知