如何获得局域网内所有的SQL Server服务器名称?

解决方案 »

  1.   

    procedure TForm1.FormShow(Sender: TObject);
    var
      SQLServer:Variant;
      ServerList:Variant;
      i:integer;
      begin SQLServer := CreateOleObject('SQLDMO.Application');
     ServerList:= SQLServer.ListAvailableSQLServers;
     if serverlist.count<1 then  application.Terminate
     else
      begin
      sncombobox1.Items.Clear;
       for i:=1 to serverlist.count do
       sncombobox1.Items.Add(serverlist.item(i)) ;
      end;
     SQLServer:=NULL;
     serverList:=NULL;end;
      

  2.   

    procedure  TForm1.Button1Click(Sender:  TObject);  
    var  
       SQLServer:Variant;  
       ServerList:Variant;  
       i:integer;  
    begin  
    SQLServer  :=  CreateOleObject('SQLDMO.Application');  
     ServerList:=  SQLServer.ListAvailableSQLServers;  
     if  serverlist.count  <1  then  
       begin  //如果服务器不存在,则退出系统  
             showmessage('服务器不存在,请检测服务器是否已经开机或者服务是否打开了');  
             Exit;  
       End;  
       for  i:=1  to  serverlist.count  do  
         listbox1.Items.Add(serverlist.item(i));  
    end;  
     
    end.
      

  3.   

    SQLServer  :=  CreateOleObject('SQLDMO.Application');  编译此句时报错,报告CreateOleObject 为未定义标识符 ,请问是怎么回事?
      

  4.   

    uses comobj; //没有引用COMOBJ单元
      

  5.   

    Exception: [SQL-DMO]存储空间不足,无法完成此操作。麻烦各位大虾了!!!
      

  6.   

    自习机上装的SQL怎么好像检测不到呢。