SQLDisconnect-切斷與資料來源的連線

SQLDisconnect() 會結束與資料庫連線控點相關聯的連線。

呼叫此函數之後,請呼叫 SQLConnect() 以連接至另一個資料庫,或呼叫 SQLFreeConnect()

語法

SQLRETURN SQLDisconnect (SQLHDBC    hdbc);

函數引數

表 1. SQLDisconnect 引數
資料類型 引數 使用 說明
SQLHDBC hdbc 輸入 連線控點

用法

如果應用程式在釋放與連線相關聯的所有陳述式控點之前呼叫 SQLDisconnect ,則 Db2® for i CLI 會在順利從資料庫中斷連線之後釋放它們。

如果傳回 SQL_SUCCESS_WITH_INFO ,則表示即使與資料庫中斷連線成功,也可以使用其他錯誤或實作特定資訊。 例如:
  • 在中斷連線之後清除時發現問題,或
  • 如果因為事件獨立於應用程式而發生 (例如通訊失敗) ,則沒有現行連線。

成功 SQLDisconnect() 呼叫之後,應用程式可以重複使用 hdbc 來提出另一個 SQLConnect() 要求。

如果 hdbc 正在參與 DUOW 兩階段確定連線,則可能不會立即中斷連線。 在下一次針對分散式交易發出的確定時,會發生實際斷線。

回覆碼

  • SQL_SUCCESS
  • SQL_SUCCESS_WITH_INFO
  • SQL_ERROR
  • SQL_INVALID_HANDLE

診斷

表 2. SQLDisconnect SQLSTATE
SQL狀態 說明 說明
01002 中斷連線錯誤 結束連線期間發生錯誤。 然而,成功結束連線。 (函數傳回 SQL_SUCCESS_WITH_INFO。)
08003 連線未開啟 引數 hdbc 中指定的連線未開啟。
25000 無效的交易狀態 引數 hdbc指定的連線正在處理交易。 交易保持作用中,且無法切斷連線。
58004 系統錯誤 無法復原的系統錯誤。
HY001 記憶體配置失敗 驅動程式無法配置支援處理或完成函數所需的記憶體。
HY013 * 記憶體管理問題 驅動程式無法存取支援處理或完成函數所需的記憶體。

範例

請參閱 SQLAllocEnv -配置環境控點中的範例。

參照