Co je to Transaction Control Transformation?
Transaction Control je aktivní a propojená transformace, která nám umožňuje provádět nebo odvolávat transakce během provádění mapování. Operace potvrzení a vrácení mají zásadní význam, protože zaručují dostupnost dat.
Při zpracování velkého objemu dat může nastat situace, kdy data odevzdat cíli. Pokud se potvrzení provádí příliš často, bude to režie do systému. Pokud je potvrzení provedeno příliš pozdě, pak v případě selhání existuje šance na ztrátu dat.
Aby byla zajištěna flexibilita, je k dispozici transformace řízení transakcí.
Příkazy TCL COMMIT & ROLLBACK
Pro zpracování operace je v této transformaci k dispozici pět vestavěných proměnných.
TC_CONTINUE_TRANSACTIONV tc_continue_transaction nejsou prováděny žádné operace, proces načítání dat pokračuje tak, jak je.
TC_COMMIT_BEFOREV tc_commit_before, když je tento příznak nalezen, je provedeno potvrzení před zpracováním aktuálního řádku.
TC_COMMIT_AFTERV tc_commit_after je zpracován aktuální řádek, pak je provedeno potvrzení.
TC_ROLLBACK_BEFOREV tc_rollback_before se nejprve provede vrácení zpět, poté se data zpracují k zápisu.
TC_ROLLBACK_AFTERV tc_rollback_after data jsou zpracována pak je provedeno vrácení zpět.
Příklad:
V tomto příkladu potvrdíme data do cíle, když bude shledána podmínka de = 20 pravdivá
Krok 1 - Vytvořte mapování s EMP jako zdrojem a EMP_TARGET jako cílem
Krok 2 - Vytvořte novou transformaci pomocí nabídky transformace
- Vyberte ovládací prvek transakce jako novou transformaci
- Zadejte název transformace "tc_commit_dept20"
- Vyberte možnost vytvoření
Krok 3 - Bude vytvořena transformace kontroly transakcí, vyberte tlačítko Hotovo
Krok 4 - Přetáhněte všechny sloupce z kvalifikátoru zdroje do transformace kontroly transakcí a poté propojte všechny sloupce z transformace kontroly transakcí do cílové tabulky
Krok 5 - Poklepejte na transformaci ovládacího prvku transakce a poté v okně vlastností úprav
- Vyberte kartu vlastností
- Klikněte na ikonu editoru kontroly transakcí
Krok 6 - v editoru výrazů zadejte výraz -
„ iif (deptno = 20, tc_commit_before, tc_continue_transaction)“ a vyberte OK
Znamená to, že pokud je nalezeno deptno 20, proveďte transakci v cíli, jinak pokračujte v aktuálním zpracování.
Krok 7 - V předchozím okně vyberte OK
Nyní uložte mapování a spusťte jej po vytvoření relace a pracovních postupů. Toto mapování potvrdí data do cíle, kdykoli se v datech najde oddělení číslo 20.