如题目

解决方案 »

  1.   

    Function GetSQLServerList(var List: Tstringlist): boolean;
    var
      i: integer;
      sRetValue: String;
      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;它返回的是主机名。也就是SQL SERVER 名
      

  2.   

    function GetIPAddrByName(Name: string; var Ip: string): Boolean;
    var
       wsdata : TWSAData;
       hostName : array [0..255] of char;
       hostEnt : PHostEnt;
       addr : PChar;
    begin
       WSAStartup ($0101, wsdata);
       try
          Gethostname (hostName, sizeof (hostName));
          StrPCopy(hostName, Name);
          hostEnt := gethostbyname (hostName);
          if Assigned (hostEnt) then
          begin
            if Assigned (hostEnt^.h_addr_list) then
            begin
                addr := hostEnt^.h_addr_list^;
                if Assigned (addr) then
                begin
                    IP := Format ('%d.%d.%d.%d', [byte (addr [0]),
                    byte (addr [1]), byte (addr [2]), byte (addr [3])]);
                    Result := True;
                end
                else
                   Result := False;
            end
            else
                Result := False;
          end
          else
          begin
             Result := False;
          end;
       finally
            WSACleanup;
       end
    end;
    通过主机名取到IP
      

  3.   

    hch_45(んこん) 
    现在已经能够取得ip和主机名了,
    还有一个问题没有解决,就是获取该SQL SERVER下的database。
    通过什么方法呢?
      

  4.   

    windindance(风舞轻扬) 的什么意思不是很清楚。
      

  5.   

    你是要获取某个SQL SERVER实例下的所有数据库吗?
    使用exec sp_databases即可
      

  6.   

    回复人: hch_45(んこん) ( ) 信誉:121  2003-8-21 13:17:15  得分:0 
     
     
      
    Function GetSQLServerList(var List: Tstringlist): boolean;
    var
      i: integer;
      sRetValue: String;
      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;它返回的是主机名。也就是SQL SERVER 名
     
     
    提示:没有ListAvailableSQLServers的方法?why?