Transformarea controlului tranzacțiilor în Informatica: comenzi TCL

Cuprins:

Anonim

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

  1. Selectați un control al tranzacției ca nouă transformare
  2. Introduceți numele transformării „tc_commit_dept20”
  3. 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

  1. Selectați fila proprietăți
  2. 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.