为什么ADODB ConnectionTimeout设置了没效果
我要判断某一个服务器是否能连接,但是要控制时间,2s内如果不能连接我就返回连接失败
- VB code
Public Function IsServerOK() As Boolean On Error GoTo err Dim conn As ADODB.Connection Set conn = New ADODB.Connection conn.ConnectionTimeout = 2 '设置连接超时,2s内无法连接视为服务器不可用 conn.Open "Provider=SQLOLEDB.1;Persist Security Info=True;UID=sa;PWD=sa;Initial Catalog=TEST;Data Source=192.168.1.1" '连接服务器 conn.Close Set conn = Nothing IsServerOK= True Exit Functionerr: Set conn = Nothing IsServerOK= FalseEnd Function
实际测试,无论怎么设ConnectionTimeout ,都要等30s左右才返回结果。(我记得默认是30s的)
请问这是怎么回事?有没有解决办法
[解决办法]
好像是默认时间改不了的,好多人都遇到这个问题,不知道什么原因。用别的方法来实现吧,可以多一个多线程,在主程序链接数据库之前启动一个不占用任务栏的进程,每一秒中响应一次事件,如何几秒内没有接受到链接成功的信息回复,可以认为未链接成功,提示信息。。
[解决办法]