如何使用代码判断是否可以连接指定IP的SQL Server??? 我想写成unit中的通用函数,不知道该如何实现??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你用adoconnection的话。就把connectstring里面的处理一下啊。把IP或者实例名当参数,每次用进去。用TRY结构做adoconnected,如果成功就返回T,连不上失败就返回F,并且给出错误提示。 uses ... ADODB, StrUtils;...function Check(username,password,ipaddr: string): boolean;var ADOCN:TADOConnection; ConnString:string;begin ConnString:='Provider=SQLOLEDB.1;Password=口令;Persist Security Info=True;User ID=用户;Initial Catalog=master;Data Source=地址'; ConnString:=AnsiReplaceStr(ConnString,'口令',password); ConnString:=AnsiReplaceStr(ConnString,'用户',username); ConnString:=AnsiReplaceStr(ConnString,'地址',ipaddr); ADOCN.Create(nil); ADOCN.LoginPrompt:=false; try ADOCN.Close; ADOCN.ConnectionString:=ConnString; ADOCN.Open; Result:=true; except Result:=false; end;end; ADOCN.Close;这一句执行的时候就出错了!!! ADOCN.Create(nil);ADOCN.CommandTimeout :=2; ADOCN.LoginPrompt:=false; ADOCN.CommandTimeout :=2; 加了这一句也会出错的! //sqlserver 支持tcp/ip 协议得话可以用这个方法快速简单检查;除非dba设置了不同得port或者动态prot或是只是采用命名管道协议。到窗体上放一个IdTcpClient ,在indy面板 IdTcpClient1.Host := 'localhost'; //sqlserver 服务器机器名称 IdTcpClient1.Port := 1433; //sqlserver tcp/ip协议端口 try IdTcpClient1.Connect(); //连接connect方法可以增加超时时间 if not IdTcpClient1.Connected then begin ShowMessage('无法连接,或者网络不通'); exit; //无法连接sqlserver end else begin IdTcpClient1.Disconnect; //连接成功; ShowMessage('连接成功!'); end; except ShowMessage('无法连接,或者网络不通'); end; 祝各位版友龙年大吉,阖家幸福! 不用改注册表设置TWebBrowser通过代理服务器访问网站的问题 把一个常量的值存成二进制文件,应该怎么做?谢谢 怎么编程实现对交换机端口的控制?(允许和禁止使用) 请问斑竹申请斑竹需要什么? 急死我了求救 高手速来 关于字母字符和数字字符组合的排序,怎样写才好呢? 请教如何取得gif/jpg的大小尺寸,并实现Resize/加logo/取Exif信息等简单处理? Delphi程序容易被杀软误报吗? 请问哪里有此类文件下载? 怎么知道当前运行的程序中间打开的数据库控件有那些? 关于intraweb的问题,大家来帮帮忙!
...function Check(username,password,ipaddr: string): boolean;
var
ADOCN:TADOConnection;
ConnString:string;
begin
ConnString:='Provider=SQLOLEDB.1;Password=口令;Persist Security Info=True;User ID=用户;Initial Catalog=master;Data Source=地址';
ConnString:=AnsiReplaceStr(ConnString,'口令',password);
ConnString:=AnsiReplaceStr(ConnString,'用户',username);
ConnString:=AnsiReplaceStr(ConnString,'地址',ipaddr);
ADOCN.Create(nil);
ADOCN.LoginPrompt:=false;
try
ADOCN.Close;
ADOCN.ConnectionString:=ConnString;
ADOCN.Open;
Result:=true;
except
Result:=false;
end;
end;
这一句执行的时候就出错了!!!
ADOCN.CommandTimeout :=2;
ADOCN.LoginPrompt:=false;
到窗体上放一个IdTcpClient ,在indy面板 IdTcpClient1.Host := 'localhost'; //sqlserver 服务器机器名称
IdTcpClient1.Port := 1433; //sqlserver tcp/ip协议端口
try
IdTcpClient1.Connect(); //连接connect方法可以增加超时时间
if not IdTcpClient1.Connected then
begin
ShowMessage('无法连接,或者网络不通');
exit; //无法连接sqlserver
end
else
begin
IdTcpClient1.Disconnect; //连接成功;
ShowMessage('连接成功!');
end;
except
ShowMessage('无法连接,或者网络不通');
end;