ADO连接数据源,因为网络问题断开, 我如何判断connection是不是断开了?(高手进来)

caichenxiaoqian 2008-12-04 05:08:30
经过验证发现ODBC数据源在数据库连接断开(拔掉网线、停止服务等)后不会自动重连。

测试Mysql和Sybase可以从connection的errors集合中得到一个错误Number:0X80040E21,而测试MSDE得到的是0X80004005。所以无法
根据异常的错误值进行相关的reconnection操作。

基于网络上的根据connection的State属性判断连接是否正常也是不可行的,即使在数据库关闭后State属性依然为adStateOpen。

所以,暂时的想法是一旦出现连续的10次数据库操作异常就重新连接一次!

那到底有没有办法判断connection的实际连接状态?

do not tell me to use State to judge it!
...全文
183 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
caichenxiaoqian 2008-12-04
  • 打赏
  • 举报
回复
判断10次很简单! 大家告诉我何时知道连接已经断开了???
zhaohongbo83 2008-12-04
  • 打赏
  • 举报
回复
根据抓捕异常,进行重连,但是如何判断十次进行一次重连呢
这个还真的是个问题
oyljerry 2008-12-04
  • 打赏
  • 举报
回复
http://faq.csdn.net/read/99488.html
caichenxiaoqian 2008-12-04
  • 打赏
  • 举报
回复
"根据捕捉异常根据错误号进行重新连接一次" ?错误号是什么? 我用GetLastError()得到317,不会是这个吧?而且没有明确的错误码定义!
scq2099yt 2008-12-04
  • 打赏
  • 举报
回复
up
Pipi0714 2008-12-04
  • 打赏
  • 举报
回复
对于这种网路异常好像没有,根据捕捉异常根据错误号进行重新连接一次

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧