读书人

连接中的MS2005数据库停止服务怎么判断

发布时间: 2012-03-16 16:34:56 作者: rapoo

连接中的MS2005数据库停止服务如何判断
有这样一个问题,当程序连接数据持续写数据时,我手动停止数据库服务,(目的是模仿数据库连接意外中断)
但程序依然认为数据库连接是OPEN,不出错,
该怎么判断呢?
判断代码如下:

C/C++ code
if(dm->ADOConnection->State == TObjectStates()<<stClosed){   ShowError("未连接数据库!");}




[解决办法]
数据库连接异常断开时,ADOConnection的Connected仍然为true.读写操作时才会触发异常.
[解决办法]
adoconnection的状态不是实时刷新的,这个问题我以前也问过,有个比较笨的方法
每秒select getdate()一次,如果抛出异常,则认为数据库出现异常,可以重连了
[解决办法]
探讨
引用:
adoconnection的状态不是实时刷新的,这个问题我以前也问过,有个比较笨的方法
每秒select getdate()一次,如果抛出异常,则认为数据库出现异常,可以重连了

我们想法一致啊。

不过当我恢复数据库引擎后,程序不能自动连接,估计要断开再连。

读书人网 >C++ Builder

热点推荐