仕様: | DB2 CLI 1.1 | ODBC 1.0 | ISO CLI |
SQLDisconnect() はデータベース接続ハンドルに関連する接続をクローズします。
この関数を呼び出した後で、SQLConnect() を呼び出して別の データベースに接続するか、または SQLFreeHandle() を呼び出してください。
構文
SQLRETURN SQLDisconnect (SQLHDBC ConnectionHandle;) /* hdbc */
関数の引き数
データ・タイプ | 引き数 | 用途 | 説明 |
---|---|---|---|
SQLHDBC | ConnectionHandle | 入力 | 接続ハンドル。 |
使用法
アプリケーションで、接続に関連するすべてのステートメント・ハンドルを解放する前 に SQLDisconnect() を呼び出した場合、DB2 CLI は、データベースから 正常に切断した後、ステートメント・ハンドルを解放します。
SQL_SUCCESS_WITH_INFO が戻された場合、データベースからの切断は成功したが、 追加のエラー情報またはインプリメンテーション固有の情報があることを意味します。 例えば、接続の切断に続く処理で問題が検出された場合や、アプリケーションとは関係なく発生したイベント (通信障害など) が原因で現行接続が存在しない場合などです。
SQLDisconnect() 呼び出しが成功した後、アプリケーションで は ConnectionHandle を再使用して、別の SQLConnect() また は SQLDriverConnect() 要求を行うことができます。
戻りコード
診断
表 41. SQLDisconnect の SQLSTATE
SQLSTATE | 説明 | 解説 |
---|---|---|
01002 | 切断エラー。 | 切断中にエラーが発生した。 しかし、切断は成功した。(関数は、SQL_SUCCESS_WITH_INFO を戻す。) |
08003 | 接続がクローズしている。 | 引き数 ConnectionHandle に指定した接続がオープンしていない。 |
58004 | 予期しないシステム障害。 | 回復不能なシステム・エラー。 |
HY001 | メモリーの割り振りの失敗。 | DB2 CLI が、関数の実行または完了のサポートに必要なメモリーを 割り当てることができない。 |
HY013 | 予期しないメモリー処理エラー。 | DB2 CLI が、関数の実行または完了のサポートに必要なメモリーに アクセスできない。 |
制約事項
なし。
関連した解説