各位高手请指点:
ado通过ip远程连接sql2000数据库
 点击按钮时
  动态连接:变量:blip 通过edit1 获得ip,
             变量:blname 通过edit2 获得计算机名,
             变量:blsjkname 通过edit3 获得数据库名,
             变量:blkey 通过edit4获得登陆密码,
如还要其他的信息可自己设变量名和edit获得;请给出详细的指点方案,最好是可运行的代码有劳各位 !非常感谢!            

解决方案 »

  1.   


    var
      ser_ip,ser_port,ser_user,ser_pass:string;
    function TForm_config.get_str: string; //获取ConnectionString
    var
      s:string;
    begin
      ser_ip:=Trim(S_ip.Text);
      ser_port:=Trim(S_port.Text);
      ser_user:=Trim(S_user.Text);
      ser_pass:=Trim(S_pass.Text);  s:='Provider=SQLOLEDB.1;';
      s:=s+'Persist Security Info=True;';
      s:=s+'Initial Catalog=AA;';
      s:=s+'User ID='+ser_user+';';
      s:=s+'Password='+ser_pass+';';
      s:=s+'Data Source='+ser_ip+','+ser_port;
      Result:=s;
    end;
    procedure TForm_config.Rzbutton_testClick(Sender: TObject); //测试连接
    var
      qt_:TADOQuery;
    begin
      ConStr:=get_str;
      try
        qt_:=TADOQuery.Create(nil);
        try
          ADOConfig.Connected:=false;
          ADOConfig.ConnectionString:=ConStr;
          ADOConfig.Connected:=True;
          with qt_ do
          begin
            Connection:=ADOConfig;
            sql.Text:='select getdate()';
            open;
            if application.MessageBox(PChar('测试连接成功。'+#13+'服务器现在时间为:'+Fields.Fields[0].AsString+',是否马上生成配置文件?'),'信息',mb_okcancel+MB_ICONINFORMATION)=mrok then
              //Rzbutton_creClick(sender);
          end;
        except
          on E:exception do
          begin
            application.MessageBox(PChar('测试连接失败,原因:'+#13+e.Message),'信息',mb_ok+MB_ICONINFORMATION);
          end;
        end;
      finally
        qt_.Free;
      end;
    end;
      

  2.   

    请问gxgyj(杰克逊) 
    输入的信息 对不对
    S_ip.Text     公网ip
    S_port.Text   请问S_port.Text 要输什么信息S_user.Text  是输 数据库名 还是 数据库的登陆名,还是电脑计算机名
     S_pass.Tex   是数据库密码 请指教
      

  3.   

    请指教
    我用 杰克逊 的代码
    我是这样设置的
    AA sql里面的数据库名称
    S_ip.Text 公网ip
    S_port.Text 服务器名
    S_user.Text  为sa 数据库登陆名S_pass.Tex 为登陆密码 为空
     编译时出现  如下错误
    调试器检测到错误
    ---------------------------
    工程 Project1.exe 检测到错误类 EOleException, 错误信息: '[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。'. 进程中止. 使用单步或运行继续运行.请指教
      

  4.   

    ADOConnMain.Close;
    ADOConnMain.ConnectionString:='Provider=SQLOLEDB.1;Password='sa';Persist Security Info=True;User ID='sa';Initial Catalog='staffic';Data Source='10.192.16.29';Extended Properties="Tag with column collation when possible=";Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID='10.192.16.29';
    Use Encryption for Data=False'
    ADOConnMain.Open();
      

  5.   


      ser_ip:=Trim(S_ip.Text);   //Sqlserver服务器IP
     ser_port:=Trim(S_port.Text); //Sqlserver服务器端口(默认1433)
      ser_user:=Trim(S_user.Text); //Sqlserver数据库用户名(默认SA)
      ser_pass:=Trim(S_pass.Text); //Sqlserver数据库密码(默认空)
      

  6.   

    还是 不行,有朋友能给我个 demo吗?  我愿意付费1000, 我急着要
      

  7.   

    首先先檢查SQL連接代碼是否有問題,其次;再檢查windows 防火牆是否close;建議給sql打個sp4的補丁...
      

  8.   

    估計是你的服務器沒有設置好,你先在外網用TELNET +IP+端口測試下你的服務器 如果測試連接沒有問題的話
    用ADO連接應該是沒有問題的