• 如何调用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
  • 相关阅读:
    Android 颜色配置表-颜色类
    Android模拟器——Genymotion
    Android-adb shell 读取手机系统文件
    android webview js交互 第一节 (java和js交互)
    Android源码目录结构详解(转载)
    BlockingQueue深入分析(转)
    RUDP之三 —— Virtual Connection over UDP
    RUDP之二 —— Sending and Receiving Packets
    OSS层基础:平台区分
    RUDP之一 —— UDP VS TCP
  • 原文地址:https://www.cnblogs.com/ZhouXiHong/p/568271.html
Copyright © 2020-2023  润新知