现在的情况是
有个服务器 是装在 192.168.1.10 但有时这台电脑会关掉或者其他原因不能连接到
还有一个服务器是本机 127.0.0.1
现在打算如果 192.168.1.10 不能用的话 就存在本机的话,这程序 应该怎么写?
还有就是默认的连接超时 要等半天才算连接超时, 怎么样设置成 1秒 没反应 就算超时?
有个服务器 是装在 192.168.1.10 但有时这台电脑会关掉或者其他原因不能连接到
还有一个服务器是本机 127.0.0.1
现在打算如果 192.168.1.10 不能用的话 就存在本机的话,这程序 应该怎么写?
还有就是默认的连接超时 要等半天才算连接超时, 怎么样设置成 1秒 没反应 就算超时?
on error goto errhandler
dim bRetry as boolean
dim cnn as new adodb,connection
bretry=true
cnn.connectionstring=constCnt1 'constCnt1 连接到第一个连接的连接串常数
cnn.open
set MakeConnect =cnn
exit function
if bretry then
if err.number=超时错误的数值 then
cnn.connectionstring=constCnt2'constCnt2 连接到另一个连接的连接串常数
bretry=false
resume
end if
end if
end sub
现在程序是能用了.问题是有点儿慢.服务器没开的话,大概是要几十秒才有反应.这不能接受啊
设置了
cn.CommandTimeout = 1
cmd.CommandTimeout = 1
都不行,还是慢要等半天不知道怎么回事
所以我找了点PING的代码.先看能不能PING通服务器.可以的话就再试连SQL服务器.这样快多了
等待几十秒正常,因为此时服务器1已经处于异常状态,必须等待超时ConnectionTimeout 属性 (ADO)
指示在终止尝试和产生错误前建立连接期间所等待的时间。设置和返回值设置或返回指示等待连接打开的时间的长整型值(单位为秒)。默认值为 15。说明如果由于网络拥塞或服务器负载过重导致的延迟使得必须放弃连接尝试时,请使用 Connection 对象的 ConnectionTimeout 属性。如果打开连接前所经过的时间超过 ConnectionTimeout 属性上设置的时间,将产生错误,并且 ADO 将取消该尝试。如果将该属性设置为零,ADO 将无限等待直到连接打开。请确认正在对其编写代码的提供者会支持 ConnectionTimeout 功能。连接关闭时 ConnectionTimeout 属性为读/写,而打开时其属性为只读。
另外我觉得,你把数据都存在本地一份,然后上传到服务器一份,加个是否已上传的字段,如果保存数据时服务器不通,就把字段设为false,等保存下个数据时,如果服务器通了,就检查没有上传过的数据,然后上传上去
conn.ConnectionTimeout = 1000
conn.CommandTimeout = 10001秒=1000毫秒在个就是像2楼的抓取一个异常错误 判断超时然后再重新连接本地的服务器。