簡體   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