DSNRLI ワーク ユニット関数

通常、DSNRLI は、SQL プロセスの一環として、接続、オープン、SQL 呼び出しの実行、コミット、ロールバック、クローズ、および接続の切断に使用されます。ただし、この処理で使用される Micro Focus の DSNRLI 関数は、次の表に示すとおりです。

プロセス DSNRLI 関数 tx_CALL
接続 IDENTIFY tx_associate
SIGNON tx_open
開く CREATE THREAD tx_begin
コミット SRRCMIT tx_commit
ロールバック SRRBACK tx_rollback
閉じる TERMINATE THREAD tx_end、tx_close
切断 TERMINATE IDENTIFY none
注: 関連付けられた XA モジュールのいずれかがステップの終了時に開いた状態のままになっている場合、つまり TERMINATE THREAD 呼び出しが行われていない場合、プログラムからの戻りコードが 0 (ゼロ) であれば DSNRLItx_commit が呼び出され、プログラムからの戻りコードが 0 以外の値であれば tx_rollback が呼び出されます。ただし、最後の SRRCMIT または SRRBACK 呼び出しで MIXED 状態になった場合、つまりコミットまたはロールバックが行われた XA モジュールと行われていない XA モジュールが混在している場合、DSNRLItx_committx_rollback は発行されません。このような MIXED 状態のトランザクションは、状況によっては XA 回復処理で回復できることがあります。

ユーザー実行の SQL 呼び出しには、既存の SQL アーキテクチャを使用してください。

単一のワーク ユニットに複数の XA リソースを使用できます。この場合、アプリケーションは DSNRLI IDENTIFY、SIGNON、および CREATE THREAD 呼び出しを使用して、各 XA リソースを関連付ける必要があります。