繁体   English   中英

在ADO中检查SQL连接状态

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM