没有现成的存储过程~~以前好像有人提到过这个问题~~并且已经解决~~
一时记不起来了,
好像是要编写一段程序(Delphi代码的)

解决方案 »

  1.   

    no,but in C,you can use the function to get it.
    INT dbserverenum ( 
    USHORT searchmode, 
    LPSTR servnamebuf, 
    USHORT sizeservnamebuf, 
    LPUSHORT numentries );
      

  2.   

    exec master.dbo.xp_cmdshell 'osql -L'
      

  3.   

    Delphi代码http://www.csdn.net/Expert/TopicView.asp?id=648844
      

  4.   

    no,but in C,you can use the function to get it.
    INT dbserverenum ( 
    USHORT searchmode, 
    LPSTR servnamebuf, 
    USHORT sizeservnamebuf, 
    LPUSHORT numentries );
      

  5.   

    //////////////////////
    procedure TForm1.Button1Click(Sender: TObject);
    var
       SQLServer:Variant;
       ServerList:Variant;
       i,nServers:integer;
       sRetValue:String;
    begin
      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;
    end;
    //////////////////////
    这一段DELPHI程序能改成BCB吗?
    BCB的Variant类型好像没有ListAvailableSQLServers和Count属性吧。
      

  6.   

    CREATE PROCEDURE [dbo].[usp_serverlist] AS
    create table #serverlist(servername nvarchar(132))
    insert into #serverlist(servername) exec master.dbo.xp_cmdshell 'osql -L'
    select ltrim(rtrim(servername)) as servername
     from #serverlist
     where left(servername,1)=' '
    drop table #serverlist
    GO
      

  7.   

    对不起,我的目的是想实现在一个没有安装SQL Server的机器上检测出局域网上所有当前活动的SQL Server服务器。我将上面的DELPHI程序修改如下(BCB程序):
      Variant SQLServer,ServersList;
      int ServersCount;
      SQLServer    = Variant::CreateObject("SQLDMO.Application");
      ServersList  = SQLServer.OleFunction("ListAvailableSQLServers");
      ServersCount = ServersList.OlePropertyGet("Count");
      for(int j=1;j<=ServersCount;j++)
        CB_Servers->Items->Add(ServersList.OleFunction("Item",j));
      if (ServersCount >=1)
        CB_Servers->ItemIndex = 0;
      这段程序在装有SQL Server的机器上用得挺好,但在没有装SQL Server的机器上却说:“类字符串无效”。估计是找不到“SQLDMO.Application”。
      请教这个问题怎么解决?是否要把一些SQL Server库拷到没有装SQL Server的机器上?