Informatica でのトランザクション制御変換 (例)
トランザクション制御変換とは何ですか?
トランザクション制御は、マッピングの実行中にトランザクションをコミットまたはロールバックできるアクティブで接続された変換です。コミットとロールバックの操作は、データの可用性を保証するため、非常に重要です。
大量のデータを処理する場合、データをターゲットにコミットする必要がある場合があります。 コミットが頻繁に実行されると、システムにオーバーヘッドが発生します。 コミットの実行が遅すぎると、失敗した場合にデータが失われる可能性があります。
したがって、柔軟性を提供するために、トランザクション制御変換が提供されます。
TCL COMMIT および ROLLBACK コマンド
この変換では、操作を処理するために使用できる組み込み変数が 5 つあります。
TC_CONTINUE_TRANSACTION
tc_continue_transaction では操作は実行されず、データロードのプロセスはそのまま続行されます。
TC_COMMIT_BEFORE
tc_commit_before で、このフラグが設定されていることが判明すると、現在の行の処理の前にコミットが実行されます。
TC_COMMIT_AFTER
tc_commit_ では、現在の行が処理された後、コミットが実行されます。
TC_ROLLBACK_BEFORE
tc_rollback_before では、最初にロールバックが実行され、次にデータが書き込み処理されます。
TC_ROLLBACK_AFTER
tc_rollback_after データが処理された後、ロールバックが実行されます。
例:
この例では、dept no =20 条件が true になったときにデータをターゲットにコミットします。
ステップ1) EMPをソース、EMP_TARGETをターゲットとしてマッピングを作成します。
- 新しい変換としてトランザクション コントロールを選択します
- 変換名「tc_commit_dept20」を入力します
- 作成オプションを選択
ステップ3) トランザクション制御変換が作成されます。「完了」ボタンを選択します。
ステップ4) ソース修飾子からトランザクション制御トランスフォーメーションにすべての列をドラッグ アンド ドロップし、トランザクション制御トランスフォーメーションのすべての列をターゲット テーブルにリンクします。
ステップ5) Double トランザクション制御変換をクリックし、プロパティの編集ウィンドウをクリックします。
- プロパティタブを選択
- トランザクション制御エディターのアイコンをクリックします。
ステップ6) 式エディターに式を入力します –
「iif(deptno=20,tc_commit_before,tc_Continue_transaction)」を選択し、「OK」を選択します
これは、deptno 20 が見つかった場合はターゲットでトランザクションをコミットし、そうでない場合は現在の処理を続行することを意味します。
ステップ7) 前のウィンドウで「OK」を選択します
今保存します マッピング セッションとワークフローを作成した後に実行します。 このマッピングは、データ内で部門番号 20 が見つかるたびに、データをターゲットにコミットします。