我用ADO与数据库连接,在局域网中在客户端与服务器库相连时,必须先建立一用户DNS,并在其客户端配置把网络库设置成TCP/IP,这是为什么呀,是我的ADO连接有问题,还是其它问题?

解决方案 »

  1.   

    给你个我写的函数,可以自动配置注册表的TCP/IP,运行这段代码就不用手工配置客户端SQL的TCP/IP了function TFrmMain.FunSetSQL:Boolean;
    var
      Reg: TRegistry;
    begin
      Reg := TRegistry.Create;
      try
       Reg.RootKey := HKEY_LOCAL_MACHINE ;
       if Reg.OpenKey('\Software\Microsoft\MSSQLServer\Client\ConnectTo',True)
         then begin
           Reg.WriteString('DSQUERY','DBMSSOCN');
         end ;
       finally
         Reg.CloseKey;
         Reg.Free;
       end;
      Result:=True;
    end;
      

  2.   

    不用建立DNS的.
    ADOQuery1.ConnectionString := '...';
      

  3.   

    动态连接就行了
    ADOConnection.ConnectionString
    网上有好多代码,现成的!