bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

tx_begin(3c)

名前

tx_begin()−グロ―バル・トランザクションの開始

形式

#include <tx.h> 
int tx_begin(void)

機能説明

tx_begin() は、呼び出し元の制御スレッドをトランザクション・モードにする際に使用します。呼び出し元のスレッドは、トランザクションを開始する前に、リンクされているリソース・マネージャがオープンしている (tx_open() を介して) ことを、まず第 1 に確実にしなければなりません。呼び出し元がすでにトランザクション・モードにある場合、または tx_open() が呼び出されていない場合には、tx_begin() は ([TX_PROTOCOL_ERROR] を返して) 異常終了します。

トランザクション・モードに入ると、呼び出し元のスレッドは、現在のトランザクションを完了させるために、tx_commit() または tx_rollback() を呼び出さなければなりません。トランザクションの連鎖に関連する条件によっては、トランザクションの開始に明示的に tx_begin() を呼び出す必要がないこともあります。詳細については、tx_commit() および tx_rollback() を参照してください。

マルチスレッドのアプリケーションの場合、TPINVALIDCONTEXT 状態のスレッドは、tx_begin() の呼び出しを発行できません。

選択可能なセットアップ

tx_set_transaction_timeout()

戻り値

tx_begin() は、正常終了時には、負数ではない戻り値 TX_OK を返します。

エラー

次の条件の場合、tx_begin() は異常終了し、次のいずれかの負の値を返します。

[TX_OUTSIDE]

呼び出し元の制御スレッドが、1 つ以上のリソース・マネージャを利用して、グローバル・トランザクションの外部で現在作業中であるため、トランザクション・マネージャは、グローバル・トランザクションを開始できません。このような作業がすべて完了してからでなければ、グローバル・トランザクションは開始できません。ローカル・トランザクションについての呼び出し元の状態は、変更されません。

[TX_PROTOCOL_ERROR]

この関数が不正なコンテキストで呼び出されました (たとえば、呼び出し元がすでにトランザクション・モードにある場合)。トランザクション・モードに関する呼び出し元の状態は変更されません。

[TX_ERROR]

トランザクション・マネージャまたは 1 つ以上のリソース・マネージャが、新しいトランザクションの開始において一時的エラーを検出しました。このエラーが返された場合は、呼び出し元はトランザクション・モードにありません。エラーの正確な内容がログ・ファイルに書き込まれます。

[TX_FAIL]

トランザクション・マネージャまたは 1 つ以上のリソース・マネージャが、致命的エラーを検出しました。このエラーでは、トランザクション・マネージャまたは 1 つ以上のリソース・マネージャ、あるいはその両方は、アプリケーションのために作業を行うことができなくなります。このエラーが返された場合は、呼び出し元はトランザクション・モードにありません。エラーの正確な内容がログ・ファイルに書き込まれます。

関連項目

tx_commit(3c)tx_open(3c)tx_rollback(3c)tx_set_transaction_timeout(3c)

警告

XA 準拠のリソース・マネージャがグローバル・トランザクションに含まれるようにするには、そのリソース・マネージャが正常にオープンされている必要があります(詳細については、tx_open(3c) を参照してください)。X/Open TX インターフェイスと X-Window システムは、いずれも型 XID を定義します。同一のファイルで X-Window コールと TX コールの両方を使用することはできません。

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy