VC+ADO断开后重连的检测与实现

最近使用VC6开发程序连接SQL Server数据库,使用的是codeproject.com上面的一个ADO类,地址如下:

http://www.codeproject.com/Articles/1075/A-set-of-ADO-classes-version-2-20

类库很好用,大部分功能都已封装进去,直接调用即可。最近测试应用程序发现在网络故障(网线断开,网卡、交换机故障等)情况下程序会自动断开与SQL Server的连接。通过以上ADO类库中的IsOpen()等函数均无法判断出“断开状态”,检测m_pConn->State等变量无法给出断开状态。


网上查询到的一些文章:

http://blog.csdn.net/edward22/article/details/6118360

http://bbs.csdn.net/topics/110168358

http://bbs.csdn.net/topics/50377948

http://bbs.pediy.com/showthread.php?t=119706


总结一下:

通过其他的方式判断ADO连接是否正常

1.可以设置定时器或开设线程定时ping服务器网卡。

2.当ADO连接断开后,执行其他SQL语句会抛出异常,so,可以在捕获异常后重新连接数据库。(异常描述关键字:连接失败)


你可能感兴趣的:(VC+ADO断开后重连的检测与实现)