Transformatie van transactiecontrole in Informatica (voorbeeld)
Wat is transactiecontroletransformatie?
Transaction Control is een actieve en verbonden transformatie die het ons mogelijk maakt om transacties te committen of terug te draaien tijdens de uitvoering van de mapping. Commit- en rollback-bewerkingen zijn van groot belang omdat het de beschikbaarheid van gegevens garandeert.
Bij het verwerken van een grote hoeveelheid gegevens kan er een situatie ontstaan waarin de gegevens aan het doel moeten worden vastgelegd. Als een commit te vaak wordt uitgevoerd, zal dit een overhead voor het systeem zijn. Als een commit te laat wordt uitgevoerd, bestaat er in het geval van een mislukking kans op gegevensverlies.
Om flexibiliteit te bieden is er dus sprake van transactiecontroletransformatie.
TCL COMMIT & ROLLBACK-opdrachten
Er zijn vijf ingebouwde variabelen beschikbaar in deze transformatie om de bewerking af te handelen.
TC_CONTINUE_TRANSACTION
In tc_continue_transaction worden geen bewerkingen uitgevoerd, het proces van het laden van gegevens gaat gewoon door.
TC_COMMIT_BEFORE
In tc_commit_before, wanneer deze vlag ingesteld wordt bevonden, wordt een commit uitgevoerd vóór de verwerking van de huidige rij.
TC_COMMIT_AFTER
In tc_commit_nadat de huidige rij is verwerkt, wordt een commit uitgevoerd.
TC_ROLLBACK_BEFORE
In tc_rollback_before wordt eerst het terugdraaien uitgevoerd en vervolgens worden de gegevens verwerkt om te schrijven.
TC_ROLLBACK_AFTER
In tc_rollback_after data is verwerkt, wordt het terugdraaien uitgevoerd.
Voorbeeld:
In dit voorbeeld zullen we gegevens aan het doel vastleggen wanneer de voorwaarde afd. no =20 waar wordt bevonden
Stap 1) Maak een mapping met EMP als bron en EMP_TARGET als doel
Stap 2) Maak een nieuw transformatie gebruik dan het transformatiemenu
- Selecteer een transactiecontrole als de nieuwe transformatie
- Voer de transformatienaam “tc_commit_dept20” in
- Selecteer optie maken
Stap 3) De transactiecontroletransformatie wordt gemaakt, selecteer de knop Gereed
Stap 4) Versleep alle kolommen van de bronkwalificatie naar de transactiecontroletransformatie en koppel vervolgens alle kolommen van de transactiecontroletransformatie naar de doeltabel
Stap 5) Double klik op de transactiecontroletransformatie en vervolgens in het venster Eigenschappen bewerken
- Selecteer het tabblad Eigenschappen
- Klik op het pictogram van de transactiecontrole-editor
Stap 6) voer in de uitdrukkingseditor de uitdrukking in –
"iif(deptno=20,tc_commit_before,tc_continue_transaction)” en selecteer OK
Het betekent dat als deptno 20 wordt gevonden, de transactie in het doel moet worden uitgevoerd, anders moet de huidige verwerking worden voortgezet.
Stap 7) Selecteer OK in het vorige venster
Bewaar nu de in kaart brengen en voer het uit na het maken van sessies en workflows. Door deze mapping worden de gegevens aan het doel gekoppeld zodra afdelingsnummer 20 in de gegevens wordt aangetroffen.