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