SQLDisconnect-切斷與資料來源的連線
SQLDisconnect()
會結束與資料庫連線控點相關聯的連線。
呼叫此函數之後,請呼叫 SQLConnect()
以連接至另一個資料庫,或呼叫 SQLFreeConnect()
。
語法
SQLRETURN SQLDisconnect (SQLHDBC hdbc);
函數引數
資料類型 | 引數 | 使用 | 說明 |
---|---|---|---|
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
診斷
SQL狀態 | 說明 | 說明 |
---|---|---|
01002 | 中斷連線錯誤 | 結束連線期間發生錯誤。 然而,成功結束連線。 (函數傳回 SQL_SUCCESS_WITH_INFO。) |
08003 | 連線未開啟 | 引數 hdbc 中指定的連線未開啟。 |
25000 | 無效的交易狀態 | 引數 hdbc指定的連線正在處理交易。 交易保持作用中,且無法切斷連線。 |
58004 | 系統錯誤 | 無法復原的系統錯誤。 |
HY001 | 記憶體配置失敗 | 驅動程式無法配置支援處理或完成函數所需的記憶體。 |
HY013 * | 記憶體管理問題 | 驅動程式無法存取支援處理或完成函數所需的記憶體。 |
範例
請參閱 SQLAllocEnv -配置環境控點中的範例。