Ce este transformarea controlului tranzacțiilor?
Controlul tranzacțiilor este o transformare activă și conectată care ne permite să comitem sau să retragem tranzacții în timpul executării mapării. Operațiunile de comitere și retrocedare sunt de o importanță semnificativă, deoarece garantează disponibilitatea datelor.
Când prelucrați un volum mare de date, poate exista o situație în care să transferați datele către țintă. Dacă o comitere este efectuată prea frecvent, atunci aceasta va fi o cheltuială pentru sistem. Dacă o comitere este efectuată prea târziu, atunci în caz de eșec există șanse de pierdere a datelor.
Deci, pentru a oferi flexibilitate, este asigurată transformarea controlului tranzacțiilor.
Comenzi TCL COMMIT & ROLLBACK
Există cinci variabile încorporate disponibile în această transformare pentru a gestiona operațiunea.
TC_CONTINUE_TRANSACTIONÎn tc_continue_transaction nu există operații efectuate, procesul de încărcare a datelor continuă așa cum este.
TC_COMMIT_BEFOREÎn tc_commit_before când se găsește setat acest flag, se efectuează un commit înainte de procesarea rândului curent.
TC_COMMIT_AFTERÎn tc_commit_after rândul curent este procesat, apoi se efectuează un commit.
TC_ROLLBACK_BEFOREÎn tc_rollback_before, revenirea se efectuează mai întâi, apoi datele sunt procesate pentru a scrie.
TC_ROLLBACK_AFTERÎn tc_rollback_after datele sunt procesate, apoi se efectuează retrocedarea.
Exemplu:
În acest exemplu, vom transfera date către țintă atunci când condiția dept nr = 20 este găsită adevărată
Pasul 1 - Creați o mapare cu EMP ca sursă și EMP_TARGET ca țintă
Pasul 2 - Creați o nouă transformare folosind meniul de transformare, apoi
- Selectați un control al tranzacției ca nouă transformare
- Introduceți numele transformării „tc_commit_dept20”
- Selectați opțiunea de creare
Pasul 3 - Transformarea controlului tranzacției va fi creată, selectați butonul Terminat
Pasul 4 - Trageți și fixați toate coloanele din calificatorul sursă la transformarea controlului tranzacției, apoi legați toate coloanele de la transformarea controlului tranzacției la tabelul țintă
Pasul 5 - Faceți dublu clic pe transformarea controlului tranzacției și apoi în fereastra de editare a proprietății
- Selectați fila proprietăți
- Faceți clic pe pictograma editorului de control al tranzacțiilor
Pasul 6 - în editorul de expresii introduceți expresia -
„ iif (deptno = 20, tc_commit_before, tc_continue_transaction)” și selectați OK
Înseamnă că dacă deptno 20 este găsit, atunci comiteți tranzacția în țintă, altfel continuați procesarea curentă.
Pasul 7 - Selectați OK în fereastra anterioară
Acum salvați maparea și executați-o după crearea sesiunii și a fluxurilor de lucru. Această mapare va transfera datele către țintă ori de câte ori departamentul numărul 20 este găsit în date.