仕様: | DB2 CLI | ODBC | ISO CLI |
SQLEndTran() は、接続に関連するすべてのステートメントの すべてのアクティブな操作に対し COMMIT または ROLLBACK を要求します。
構文
SQLRETURN SQLEndTran (SQLSMALLINT HandleType, SQLHANDLE Handle, SQLSMALLINT Completion Type);
関数の引き数
データ・タイプ | 引き数 | 用途 | 説明 |
---|---|---|---|
SQLSMALLINT | HandleType | 入力 | ハンドル・タイプ。 |
SQLHANDLE | Handle | 入力 | 接続ハンドル。 |
SQLSMALLINT | CompletionType | 入力 | 接続に関連したアクティブな操作の終了方法。 |
使用法
手動コミット・モードでは、SQLDisconnect() の前に SQLEndTran() を呼び出さなければなりません。SQLDisconnect() の 前に SQLEndTran() を呼び出さないと、 データベースを更新した (最終トランザクションの開始後に) 操作がロールバックされます。
ROLLBACK が実行されると、ステートメント・ハンドルはすべて消去されます。
アプリケーションが、手動モードの最中に破損または途中で終了すると、 最後の COMMIT 以降に更新されたものは失われます。 切断の前に SQLEndTran() を呼び出さなければなりません。
戻りコード
診断
SQLSTATE | 説明 | 解説 |
---|---|---|
58004 | 予期しないシステム障害。 | 回復不能なシステム・エラー。 |
HY001 | メモリーの割り振りの失敗。 | DB2 CLI が、関数の実行または完了のサポートに必要なメモリーを 割り当てることができない。 |
HY013 | 予期しないメモリー処理エラー。 | DB2 CLI が、関数の実行または完了のサポートに必要なメモリーに アクセスできない。 |
HY014 | ハンドル数の限界に到達済み。 | 内部リソースが原因で、DB2 CLI がハンドルを割り当てることができない。 |
制約事項
なし。
関連した解説