各位高手请指点:
ado通过ip远程连接sql2000数据库
点击按钮时
动态连接:变量:blip 通过edit1 获得ip,
变量:blname 通过edit2 获得计算机名,
变量:blsjkname 通过edit3 获得数据库名,
变量:blkey 通过edit4获得登陆密码,
如还要其他的信息可自己设变量名和edit获得;请给出详细的指点方案,最好是可运行的代码有劳各位 !非常感谢!
ado通过ip远程连接sql2000数据库
点击按钮时
动态连接:变量:blip 通过edit1 获得ip,
变量:blname 通过edit2 获得计算机名,
变量:blsjkname 通过edit3 获得数据库名,
变量:blkey 通过edit4获得登陆密码,
如还要其他的信息可自己设变量名和edit获得;请给出详细的指点方案,最好是可运行的代码有劳各位 !非常感谢!
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;
输入的信息 对不对
S_ip.Text 公网ip
S_port.Text 请问S_port.Text 要输什么信息S_user.Text 是输 数据库名 还是 数据库的登陆名,还是电脑计算机名
S_pass.Tex 是数据库密码 请指教
我用 杰克逊 的代码
我是这样设置的
AA sql里面的数据库名称
S_ip.Text 公网ip
S_port.Text 服务器名
S_user.Text 为sa 数据库登陆名S_pass.Tex 为登陆密码 为空
编译时出现 如下错误
调试器检测到错误
---------------------------
工程 Project1.exe 检测到错误类 EOleException, 错误信息: '[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。'. 进程中止. 使用单步或运行继续运行.请指教
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();
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数据库密码(默认空)
用ADO連接應該是沒有問題的