データベースと対話するメッセージ・フローを作成する場合は、 現行ノードの処理が完了するときに更新をコミットするのか、 メッセージ・フローの現在の呼び出しが終了するときに更新をコミットするのかを選択できます。
ノードごとに、「トランザクション (Transaction)」プロパティーに適切なオプションを選択し、いつデータベース更新をコミットするかを指定します。
ここで選択した値が、更新したデータベース・テーブルにインプリメントされます。 表ごとに異なった値を選択することはできません。
「トランザクション (Transaction)」 を「コミット (Commit)」に設定した場合は、 PROPAGATE ステートメントを使用することによって、 メッセージ・フローの動作およびデータベース更新のコミットメントが影響を受ける場合があります。
ノードから 1 つ以上の出力メッセージを生成するノードの ESQL に PROPAGATE ステートメントを組み込む場合は、出力メッセージのパス全体が完了するまで、PROPAGATE ステートメントの処理は完了したとみなされません。 このパスには、1 つ以上の出力ノードを含む他の複数のノードが含まれている場合があります。 その後、PROPAGATE ステートメントを発行するノードに制御が戻り、ESQL が終了します。 この時点で、必要に応じてデータベースのコミットが実行されます。
伝搬されたパス上のノードの 1 つがエラーを検出して例外をスローすると、PROPAGATE ステートメントをコーディングしたノードの処理は完了しません。 エラー処理の結果がロールバックになる場合は、 メッセージ・フローおよびこのノード内のデータベース更新がロールバックされます。 この動作は、「コミット (Commit)」オプションの規定の動作と整合していますが、期待する動作ではない可能性があります。
関連概念
メッセージ・フロー
関連タスク
メッセージ・フローの設計
メッセージ・フローの内容の定義
メッセージ・フローのエラー処理
関連資料
Compute ノード
Database ノード
Filter ノード
ESQL
PROPAGATE ステートメント
注意 |
商標 |
ダウンロード |
ライブラリー |
技術サポート |
フィードバック
![]() ![]() |
ac17030_ |