如何获得局域网里的SQL服务器名称
 如何获得服务器下面的数据集名称

解决方案 »

  1.   

    网上搜索一大把, 提问之前先Baidu或Google一下, 真的找不到再提问.
    //前提是必须注册SQLDMO.dll, 好像是这个吧, 否则不成功.
    function GetSQLServersList(List:TStrings):Boolean;
    var
      SQLServer,SQLServerList:Variant;
      i:Integer;
    begin
      List.Clear;
      Result:=False;
      try
        try
          SQLServer:=CreateOleObject('SQLDMO.Application');
          if SQLServer=null then
            Exit;      
          SQLServerList:=SQLServer.ListAvailableSQLServers;
          for i:=1 to SQLServerList.count do
            List.Add(SQLServerList.Item(I));
          Result:=True;
        except
        end;
      finally
        SQLServer:=Unassigned;
        SQLServerList:=Unassigned;
      end;
    end;