Hvad er transformationskontroltransformation?
Transaktionskontrol er en aktiv og forbundet transformation, der giver os mulighed for at begå eller tilbageføre transaktioner under udførelsen af kortlægningen. Forpligtelses- og tilbageførselsoperationer er af væsentlig betydning, da det garanterer tilgængeligheden af data.
Når der behandles et stort datamængde, kan der være en situation, hvor dataene skal overføres til målet. Hvis en forpligtelse udføres for ofte, vil det være et overhead til systemet. Hvis en forpligtelse udføres for sent, er der i tilfælde af fiasko chancer for datatab.
Så for at give fleksibilitet Transaktionskontroltransformation leveres.
TCL COMMIT & ROLLBACK-kommandoer
Der er fem indbyggede variabler tilgængelige i denne transformation til at håndtere operationen.
TC_CONTINUE_TRANSACTIONI tc_continue_transaction udføres der ingen handlinger, processen med dataindlæsning fortsætter som den er.
TC_COMMIT_BEFOREI tc_commit_before når dette flag findes indstillet, udføres en forpligtelse inden behandlingen af den aktuelle række.
TC_COMMIT_AFTERI tc_commit_after den aktuelle række behandles, udføres der en forpligtelse.
TC_ROLLBACK_BEFOREI tc_rollback_before udføres rollback først, derefter behandles data for at skrive.
TC_ROLLBACK_AFTERI tc_rollback_after behandles data, derefter tilbageføres.
Eksempel:
I dette eksempel vil vi forpligte data til målet, når dept no = 20-betingelse findes sandt
Trin 1 - Opret en kortlægning med EMP som kilde og EMP_TARGET som mål
Trin 2 - Opret en ny transformation ved hjælp af transformationsmenuen, derefter
- Vælg en transaktionskontrol som den nye transformation
- Indtast transformationsnavn "tc_commit_dept20"
- Vælg Opret indstilling
Trin 3 - Transaktionskontroltransformationen oprettes, vælg knappen udført
Trin 4 - Træk og slip alle kolonnerne fra kildekvalificering til transaktionskontroltransformationen, og knyt derefter alle kolonnerne fra transformationskontroltransformation til måltabellen
Trin 5 - Dobbeltklik på transformation af transaktionskontrol og derefter i vinduet rediger ejendom
- Vælg fanen egenskab
- Klik på ikonet for transaktionskontroleditor
Trin 6 -indtast udtrykket i ekspressionseditoren -
" iif (deptno = 20, tc_commit_before, tc_continue_transaction)" og vælg OK
Det betyder, at hvis deptno 20 findes, så begå transaktion i mål, ellers fortsæt den aktuelle behandling.
Trin 7 - Vælg OK i det forrige vindue
Gem nu kortlægningen og udfør den efter oprettelse af session og arbejdsgange. Denne kortlægning vil forpligte dataene til målet, når afdeling 20 findes i dataene.