Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=数据库名称;Data Source=服务器名称

解决方案 »

  1.   

    Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;password=YourPassword;Initial Catalog=YourDatabaseName;Data Source=YourMachineNameuser id,password,Data Source 设好了吗?
      

  2.   

    对不起!上次没写完!!
    Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=数据库名称;Data Source=服务器名称;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=本机名称
      

  3.   

    一定要用Workstation ID吗?
    如何取得Workstation ID?
      

  4.   

    以下可取得 Workstation ID
    uses WinSock;procedure TForm1.GetHostInfo(var Name, Address: string);
    var
           WSAData: TWSAData;
           HostEnt: PHostEnt;
    begin
            WSAStartup(2, WSAData);
            SetLength(Name, 255);
            Gethostname(PChar(Name), 255);
            SetLength(Name, StrLen(PChar(Name)));
            HostEnt := gethostbyname(PChar(Name));
            with HostEnt^ do
                 Address := Format('%d.%d.%d.%d',[Byte(h_addr^[0]),
            Byte(h_addr^[1]),Byte(h_addr^[2]), Byte(h_addr^[3])]);
            WSACleanup;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
        StrName,StrAddr:String;
    begin
        GetHostInfo(StrName,StrAddr);
        ShowMessage(UpperCase(StrName));
    end;
      

  5.   

    不需要workstation ID,这是我用的连接字符串,在很多机器上试过,都没问题。
    ConnStr=Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;User ID=用户名;Initial Catalog=数据库名称;Data Source=服务器名称;
      

  6.   

    你可以先在另一台机器上设置一个数据源连接salserver做个测试,看连接是否正常?
    如果没有问题,你应该检查一下你的程序了中的连接数据库的一些信息了,比如:用户名,服务器名,密码
    如果还不行你就安装delphi ,在delphi中做连接测试。
      

  7.   

    你可以先在另一台机器上设置一个数据源连接salserver做个测试,看连接是否正常?
    如果没有问题,你应该检查一下你的程序了中的连接数据库的一些信息了,比如:用户名,服务器名,密码
    如果还不行你就安装delphi ,在delphi中做连接测试。
      

  8.   

    问题估计又出在连接协议上,你装个SQL客户端,用客户端网络实用工具配置一下连接协议,跟服务器的服务端网络实用工具中启用的连接协议一致就行了0D
    其实在ODBC中也可以实现的,新建一个数据源,连接SQLSERVER,和上述一样,也是协议,要用服务端中已启用的协议,连接一次后就行了,然后可以删掉那个数据源
      

  9.   

    AdoConn := TAdoconnection.Create(nil);
      AdoConn.LoginPrompt := false;
      AdoConn.ConnectionString := 'Provider=SQLOLEDB.1;Password=' +
        dit.userpass + ';Persist Security Info=True;User ID=' +
        dit.username + ';Initial Catalog=' + dit.DBName + ';Data Source=' +
        dit.IPAddr;
      AdoConn.Connected := true;这是我正在作的项目中的一段代码,没有问题的,用IP地址,不要用机器名,没有IPX兼容协议,是不能通过机器名称找数据库的