[英]Checking SQL connection state in ADO
我正在检查我的SQL连接状态为:
_ConnectionPtr m_pADOConnection;
// Connection is created and working fine...
// Now I disable network adapter (from Control panel)
if( (pApp->m_pConnection->GetState() == adStateOpen) )
{
// I got here every time....
}
问题是即使连接确实无法正常工作,我也会每次都获得adStateOpen !
如果我尝试执行查询或执行任何失败的操作,通常是
SMux提供程序:物理连接不可用[xFFFFFFFF]。
要么
错误号:80004005 =无法打开逻辑会话
State属性的此值可靠吗,还是我需要执行其他一些检查顶部才能检测到此状态?
连接中断时,state属性不会变为0(adStateClosed)。 因此,即使连接中断后,检查连接状态也将始终返回1(adStateOpen)。
没有,没有办法立即检查。 SQL Server的体系结构不允许这样做。
我建议您创建一个错误处理。
似乎确定连接已丢失的唯一方法是尝试打开它并处理错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.