SQLEndTran - COMMIT または ROLLBACK の要求

目的

仕様: DB2 CLI ODBC ISO CLI

SQLEndTran() は、接続に関連するすべてのステートメントの すべてのアクティブな操作に対し COMMIT または ROLLBACK を要求します。

構文

SQLRETURN   SQLEndTran       (SQLSMALLINT        HandleType,
                              SQLHANDLE          Handle,
                              SQLSMALLINT        Completion Type);

関数の引き数

表 42. SQLEndTran の引き数

データ・タイプ 引き数 用途 説明
SQLSMALLINT HandleType 入力 ハンドル・タイプ。
SQLHANDLE Handle 入力 接続ハンドル。
SQLSMALLINT CompletionType 入力 接続に関連したアクティブな操作の終了方法。

使用法

HandleType
ハンドル・タイプ ID。SQL_HANDLE_DBC (接続ハンドル) のみが許可されます。

Handle
HandleType が示すタイプのハンドルです。

CompletionType
以下のいずれかの値となります。

手動コミット・モードでは、SQLDisconnect() の前に SQLEndTran() を呼び出さなければなりません。SQLDisconnect() の 前に SQLEndTran()呼び出さないと、 データベースを更新した (最終トランザクションの開始後に) 操作がロールバックされます。

ROLLBACK が実行されると、ステートメント・ハンドルはすべて消去されます。

アプリケーションが、手動モードの最中に破損または途中で終了すると、 最後の COMMIT 以降に更新されたものは失われます。 切断の前に SQLEndTran() を呼び出さなければなりません。

戻りコード

診断

表 43. SQLEndTran の SQLSTATE

SQLSTATE 説明 解説
58004 予期しないシステム障害。 回復不能なシステム・エラー。
HY001 メモリーの割り振りの失敗。 DB2 CLI が、関数の実行または完了のサポートに必要なメモリーを 割り当てることができない。
HY013 予期しないメモリー処理エラー。 DB2 CLI が、関数の実行または完了のサポートに必要なメモリーに アクセスできない。
HY014 ハンドル数の限界に到達済み。 内部リソースが原因で、DB2 CLI がハンドルを割り当てることができない。

制約事項

なし。

関連した解説