Was ist Transaktionssteuerungstransformation?
Die Transaktionssteuerung ist eine aktive und verbundene Transformation, mit der wir Transaktionen während der Ausführung des Mappings festschreiben oder zurücksetzen können. Commit- und Rollback-Vorgänge sind von erheblicher Bedeutung, da sie die Verfügbarkeit von Daten gewährleisten.
Bei der Verarbeitung eines großen Datenvolumens kann es vorkommen, dass die Daten an das Ziel übergeben werden. Wenn ein Commit zu häufig ausgeführt wird, ist dies ein Overhead für das System. Wenn ein Commit zu spät ausgeführt wird, besteht im Falle eines Fehlers die Möglichkeit eines Datenverlusts.
Um Flexibilität zu bieten, wird eine Transaktionssteuerungstransformation bereitgestellt.
TCL COMMIT & ROLLBACK-Befehle
In dieser Transformation stehen fünf integrierte Variablen zur Verfügung, um die Operation auszuführen.
TC_CONTINUE_TRANSACTIONIn tc_continue_transaction werden keine Operationen ausgeführt, der Prozess des Datenladens wird unverändert fortgesetzt.
TC_COMMIT_BEFOREIn tc_commit_before, wenn dieses Flag gesetzt ist, wird vor der Verarbeitung der aktuellen Zeile ein Commit ausgeführt.
TC_COMMIT_AFTERIn tc_commit_after, nachdem die aktuelle Zeile verarbeitet wurde, wird ein Commit ausgeführt.
TC_ROLLBACK_BEFOREIn tc_rollback_before wird zuerst ein Rollback durchgeführt, dann werden Daten zum Schreiben verarbeitet.
TC_ROLLBACK_AFTERIn tc_rollback_after werden Daten verarbeitet, dann wird das Rollback durchgeführt.
Beispiel:
In diesem Beispiel werden Daten an das Ziel übergeben, wenn die Bedingung für Abteilung Nr. 20 als wahr befunden wird
Schritt 1 - Erstellen Sie ein Mapping mit EMP als Quelle und EMP_TARGET als Ziel
Schritt 2 - Erstellen Sie dann eine neue Transformation über das Transformationsmenü
- Wählen Sie ein Transaktionssteuerelement als neue Transformation aus
- Geben Sie den Transformationsnamen "tc_commit_dept20" ein.
- Wählen Sie die Option Erstellen
Schritt 3 - Die Transaktionssteuerungstransformation wird erstellt. Klicken Sie auf die Schaltfläche Fertig
Schritt 4 - Ziehen Sie alle Spalten aus dem Quellqualifizierer in die Transaktionssteuerungsumwandlung und verknüpfen Sie sie. Verknüpfen Sie dann alle Spalten aus der Transaktionssteuerungsumwandlung mit der Zieltabelle
Schritt 5 - Doppelklicken Sie auf die Transaktionssteuerungstransformation und dann im Eigenschaftenfenster bearbeiten
- Wählen Sie die Registerkarte Eigenschaft
- Klicken Sie auf das Symbol des Transaktionssteuerungs-Editors
Schritt 6 - Geben Sie im Ausdruckseditor den Ausdruck ein -
" iif (deptno = 20, tc_commit_before, tc_continue_transaction)" und wählen Sie OK
Wenn Abt. 20 gefunden wird, wird die Transaktion im Ziel festgeschrieben, andernfalls wird die aktuelle Verarbeitung fortgesetzt.
Schritt 7 - Wählen Sie im vorherigen Fenster OK
Speichern Sie nun das Mapping und führen Sie es aus, nachdem Sie Sitzungen und Workflows erstellt haben. Diese Zuordnung schreibt die Daten immer dann an das Ziel, wenn die Abteilungsnummer 20 in den Daten gefunden wird.