RegisterTransactionsメソッド

機能

DBTransactionオブジェクトとDBConnectionオブジェクトを関連付けます。

トランザクションの開始前,コネクションとトランザクションを対応させる必要があります。この関連付けによって,そのコネクションに対してトランザクション制御ができるようになります。

形式

void RegisterTransactions (DBTransaction* pTransaction)
                                              throw DBSQLCA

引数

pTransaction

トランザクションを管理するDBTransactionオブジェクトのポインタを指定します。

戻り値

なし

機能詳細

トランザクションをアプリケーションから制御する場合,DBConnectionオブジェクトを引数pTransactionに指定したDBTransactionオブジェクトに関連付けます。

DBTransactionオブジェクトへの関連付けはデータベースへの接続単位でします。1トランザクションでは,1コネクションを管理します。

対象とするDBTransactionオブジェクトで自動コミットが設定されている場合,DBConnectionオブジェクト(コネクション)は関連付けられた時に自動コミット設定になります。また,DBTransactionオブジェクトで自動コミットが設定されていない場合,DBConnectionオブジェクトを関連付け,BeginTransメソッド(DBTransactionクラス)を呼び出した時点からトランザクションが開始されます。

また,RegisterTransactionsメソッドを指定しない場合は,SQL文を1文実行するごとにコミットされるので注意してください。

TPBrokerのOTSインタフェースを使ったトランザクション制御の場合

登録されているDBConnectionオブジェクトがOTSインタフェースを使用している場合でもこのクラスの各メソッドは呼び出せますが,このような場合,DBTransactionオブジェクトではトランザクション制御はしないため,このメソッドの機能は無効になります。

発生する例外

DBSQLCA(RetCode)

DB_ERROR_CANNOT_BE_NULL
引数にNULLを指定しています。
DB_ERROR_ALREADY_REGISTERED
既に登録されています。
DB_ERROR_IN_ASYNC_EXECUTE
非同期実行処理中ステートメントがあります。