Vad är Transaction Control Transformation?
Transaktionskontroll är en aktiv och ansluten transformation som gör att vi kan begå eller återföra transaktioner under genomförandet av kartläggningen. Åtagande och återställning är av stor betydelse eftersom det garanterar tillgängligheten av data.
När du bearbetar en hög datamängd kan det finnas en situation när data ska överföras till målet. Om ett åtagande utförs för ofta kommer det att vara en omkostnad för systemet. Om ett åtagande utförs för sent är det risk för dataförlust i fall av misslyckande.
Så för att ge flexibilitet Transaktionskontrolltransformation tillhandahålls.
TCL COMMIT & ROLLBACK-kommandon
Det finns fem inbyggda variabler tillgängliga i denna omvandling för att hantera operationen.
TC_CONTINUE_TRANSACTIONI tc_continue_transaction utförs inga operationer, dataladdningsprocessen fortsätter som den är.
TC_COMMIT_BEFOREI tc_commit_before när den här flaggan hittas inställd, utförs ett engagemang före bearbetningen av den aktuella raden.
TC_COMMIT_AFTERI tc_commit_after den aktuella raden bearbetas utförs sedan en commit.
TC_ROLLBACK_BEFOREI tc_rollback_before utförs rollback först och sedan bearbetas data för att skriva.
TC_ROLLBACK_AFTERI tc_rollback_after data bearbetas utförs återställningen.
Exempel:
I det här exemplet kommer vi att begå data till målet när villkor för avd. Nr = 20 hittas sant
Steg 1 - Skapa en kartläggning med EMP som källa och EMP_TARGET som mål
Steg 2 - Skapa en ny transformation med hjälp av transformationsmenyn
- Välj en transaktionskontroll som den nya omvandlingen
- Ange transformationsnamn "tc_commit_dept20"
- Välj skapa alternativ
Steg 3 - Transaktionskontrolltransformationen skapas, välj knappen färdig
Steg 4 - Dra och släpp alla kolumner från källkvalificering till transaktionskontrolltransformationen och länka sedan alla kolumner från transaktionskontrolltransformation till måltabellen
Steg 5 - Dubbelklicka på transaktionskontrolltransformationen och sedan i fönstret redigera egendom
- Välj fliken egendom
- Klicka på ikonen för redigeraren för transaktionskontroll
Steg 6 - i uttrycksredigeraren anger du uttrycket -
" iif (deptno = 20, tc_commit_before, tc_continue_transaction)" och välj OK
Det betyder att om avdelning 20 hittas ska du begå transaktion i mål, annars fortsätter du den aktuella behandlingen.
Steg 7 - Välj OK i föregående fönster
Spara nu kartläggningen och kör den efter att du har skapat session och arbetsflöden. Denna kartläggning kommer att begå data till målet när avdelning nummer 20 finns i data.