delphi访问远程数据库

来源:百度文库 编辑:神马文学网 时间:2024/04/30 07:03:28
必须要知道IP地址的
sqlserver服务器-->开始菜单-->SQLserver-->服务器网络实用工具-->
启用     WinSock代理-->代理地址:(sqlserver服务器IP)-->代理端口-
->1433-->
利用ADOConnection组件,通过IP连接就可以了
或者建立.udl文件,给adoconnection.ConnectionString赋值可以动态连接。

Provider=SQLOLEDB.1;Persist   Security   Info=False;User   ID=sa;Initial   Catalog=databasename;Data   Source=10.12.111.33
连接主机不固定IP:自己输入IP
可以真正的实现远程登陆,和不同局域网内的登陆,远程主机要有指定的公网ip就的了。
我的远程登陆是这样,没问题的:
procedure   TForm_server.Button2Click(Sender:   TObject);
var
servername,databasename,ad,password:string;
connect:string;
begin
check;
servername:=combobox1.Text;   //对方IP
databasename:=combobox2.Text;  //数据库名称
ad:=edit1.Text;       //user id=SA
password:=edit2.Text;
form1.ADOConnection1.Close;
connect:=‘Provider=SQLOLEDB.1;Password=‘+password+‘;Persist   Security   Info=false;User   ID=‘+ad+‘;Initial   Catalog=‘+databasename+‘;Data   Source=‘+servername;
form1.ADOConnection1.ConnectionString:=connect;
form1.ADOConnection1.CommandTimeout   :=10;
try
form1.ADOConnection1.Open;
form1.ADOConnection1.Connected:=true;
form_server.login:=true;
//showmessage(‘服务器连接成功!‘);
form_server.Close;
except
messagedlg(‘服务器连接失败,请检查网络设备是否正常工作,或输入信息是否有误!‘+#13+#13+‘系统将在2秒后自动关闭。‘,mtWarning,[mbOk],0);
sleep(2000);
//form_server.login:=true;
//form_server.Hide;
//application.Terminate;
//application.run;
form1.Close;
end;
end;