Transaktionskontrolltransformation i Informatica (exempel)
Vad är Transaction Control Transformation?
Transaktionskontroll är en aktiv och sammankopplad transformation som gör att vi kan utföra eller återställa transaktioner under utförandet av mappningen. Åtgärder och återställning är av stor betydelse eftersom det garanterar tillgången till data.
När man bearbetar en stor mängd data kan det uppstå en situation då man ska överföra data till målet. Om en commit utförs för ofta, blir det en overhead för systemet. Om en commit utförs för sent finns det risk för dataförlust i fallet med misslyckande.
Så för att ge flexibilitet tillhandahålls Transaktionskontrolltransformation.
TCL COMMIT & ROLLBACK-kommandon
Det finns fem inbyggda variabler tillgängliga i denna transformation för att hantera operationen.
TC_CONTINUE_TRANSACTION
I tc_continue_transaction utförs inga operationer, processen för dataladdning fortsätter som den är.
TC_COMMIT_BEFORE
I tc_commit_before när denna flagga hittas inställd, utförs en commit innan bearbetningen av aktuell rad.
TC_COMMIT_AFTER
I tc_commit_after den aktuella raden har bearbetats utförs en commit.
TC_ROLLBACK_BEFORE
I tc_rollback_before utförs rollback först och sedan bearbetas data för att skriva.
TC_ROLLBACK_AFTER
I tc_rollback_after data bearbetas utförs återställningen.
Exempelvis:
I det här exemplet kommer vi att överföra data till målet när villkoret för avd nr =20 är sant
Steg 1) Skapa en mappning med EMP som källa och EMP_TARGET som mål
Steg 2) Skapa en ny transformation använd sedan transformationsmenyn
- Välj en transaktionskontroll som den nya transformationen
- Ange transformationsnamnet "tc_commit_dept20"
- Välj skapa alternativ
Steg 3) Transaktionskontrolltransformationen kommer att skapas, välj knappen Klar
Steg 4) Dra och släpp alla kolumner från källkvalificeraren till transaktionskontrolltransformationen och länka sedan alla kolumner från transaktionskontrolltransformationen till måltabellen
Steg 5) Double klicka på transaktionskontrolltransformationen och sedan i fönstret för redigera egenskap
- Välj egenskapsflik
- Klicka på ikonen för redigeraren för transaktionskontroll
Steg 6) i uttrycksredigeraren skriv in uttrycket –
"iif(deptno=20,tc_commit_before,tc_continue_transaction)” och välj OK
Det betyder att om avd.nr 20 hittas ska transaktionen utföras i målet, annars fortsätter den aktuella behandlingen.
Steg 7) Välj OK i föregående fönster
Spara nu kartläggning och exekvera det efter att ha skapat session och arbetsflöden. Denna mappning kommer att överföra data till målet närhelst avdelning nummer 20 hittas i datan.