连接中的MS2005数据库停止服务如何判断
有这样一个问题,当程序连接数据持续写数据时,我手动停止数据库服务,(目的是模仿数据库连接意外中断)
但程序依然认为数据库连接是OPEN,不出错,
该怎么判断呢?
判断代码如下:
- C/C++ code
if(dm->ADOConnection->State == TObjectStates()<<stClosed){ ShowError("未连接数据库!");}[解决办法]
数据库连接异常断开时,ADOConnection的Connected仍然为true.读写操作时才会触发异常.
[解决办法]
adoconnection的状态不是实时刷新的,这个问题我以前也问过,有个比较笨的方法
每秒select getdate()一次,如果抛出异常,则认为数据库出现异常,可以重连了
[解决办法]