朋友!怎样获取sql数据服务器名的列表?

解决方案 »

  1.   

    听说以下程序可以,但是我没实现,因为我不太了解OLE.
    -----------------------------------------------
    功  能:  返回网络中SQLServer列表  
    参  数:  
    List:  需要填充的List  
    返回值:  成功:  True,并填充List  失败  False  
    =================================================================}  
    Function  GetSQLServerList(var  List:  Tstringlist):  boolean;  
    var  
     i:  integer;  
     SQLServer:  Variant;  
     ServerList:  Variant;  
    begin  
       Result  :=  False;  
       List.Clear;  
       try  
         SQLServer  :=  CreateOleObject('SQLDMO.Application');  
         ServerList  :=  SQLServer.ListAvailableSQLServers;  
         for  i  :=  1  to  Serverlist.Count  do  
             list.Add  (Serverlist.item(i));  
         Result  :=  True;  
       Finally  
         SQLServer  :=null;  
         ServerList  :=null;  
       end;  
    end;  
     
     
    试试这个函数,我在网上找得。  
     
    我在win98+delphi6下运行通过....
    ---------------------------------------------
    希望你可以验证,做出来后,发上你的程序,我也想要.
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Comobj;type
      TForm1 = class(TForm)
        ListBox1: TListBox;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      SQLServer: Variant;
      ServerList: Variant;
      i, nServers: integer;
    begin
      ListBox1.Items.Clear;
      try
        SQLServer := CreateOleObject('SQLDMO.Application');
        ServerList := SQLServer.ListAvailableSQLServers;
        nServers := ServerList.Count;
        for i := 1 to nservers do
          ListBox1.Items.Add(ServerList.Item(i));
        SQLServer := NULL;
        serverList := NULL;
      except
        Application.MessageBox('您当前的机器没有安装SQL Server,无法导入SQL Server服务器列表,'+#13+#10+'请直接输入SQL Server服务器名称!','信息提示',MB_OK+MB_ICONINFORMATION);
      end;
    end;end.这样就可以的
      

  3.   

    用程序执行存储过程  sp_helpserver
      

  4.   

    可以用下拉框  
      连接数据库然后
     with adoquery1 do
       begin
         active := false;
         sql.clear;
         sql.add('exec sp_helpserver');
         active := true;
       end;   combobox1.clear  while not adoquery1.eof do
        begin
          combobox1.add(adoquery1.fieldbyname('name').asstring);
          next;
        end;