Wat is Transaction Control Transformation?
Transaction Control is een actieve en verbonden transformatie waarmee we transacties kunnen vastleggen of terugdraaien 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 zijn waarin de gegevens aan het doel moeten worden toegewezen. Als een commit te vaak wordt uitgevoerd, zal dit een overhead voor het systeem zijn. Als een commit te laat wordt uitgevoerd, is er in het geval van een mislukking kans op gegevensverlies.
Om flexibiliteit te bieden, is Transaction Control-transformatie voorzien.
TCL COMMIT & ROLLBACK-opdrachten
Er zijn vijf ingebouwde variabelen beschikbaar in deze transformatie om de bewerking af te handelen.
TC_CONTINUE_TRANSACTIONIn tc_continue_transaction worden geen bewerkingen uitgevoerd, het proces van het laden van gegevens gaat gewoon door.
TC_COMMIT_BEFOREIn tc_commit_before wanneer deze vlag is ingesteld, wordt een commit uitgevoerd voordat de huidige rij wordt verwerkt.
TC_COMMIT_AFTERIn tc_commit_na de huidige rij is verwerkt, wordt een commit uitgevoerd.
TC_ROLLBACK_BEFOREIn tc_rollback_before wordt rollback eerst uitgevoerd en vervolgens worden de gegevens verwerkt om te schrijven.
TC_ROLLBACK_AFTERIn tc_rollback_after worden gegevens verwerkt, waarna de rollback wordt uitgevoerd.
Voorbeeld:
In dit voorbeeld zullen we gegevens aan het doel vastleggen als de voorwaarde van afdeling nr = 20 waar wordt bevonden
Stap 1 - Maak een mapping met EMP als bron en EMP_TARGET als doel
Stap 2 - Maak een nieuwe transformatie met behulp van het transformatiemenu en vervolgens
- Selecteer een transactiebeheer als de nieuwe transformatie
- Voer de transformatienaam "tc_commit_dept20" in
- Selecteer optie maken
Stap 3 - De transformatie van transactiebeheer wordt gemaakt, selecteer de knop Gereed
Stap 4 - Versleep alle kolommen van de bronkwalificatie naar de transactiebeheer-transformatie en koppel vervolgens alle kolommen van de transactiebeheer-transformatie aan de doeltabel
Stap 5 - Dubbelklik op de transactiecontroletransformatie en vervolgens in het eigenschappenvenster
- Selecteer het tabblad Eigenschappen
- Klik op het pictogram van de transactiebeheer-editor
Stap 6 - voer in de uitdrukkingseditor de uitdrukking in -
Het betekent dat als afdelingsnummer 20 wordt gevonden, de transactie in het doel wordt vastgelegd, anders wordt de huidige verwerking voortgezet.
Stap 7 - Selecteer OK in het vorige venster
Sla nu de mapping op en voer deze uit na het aanmaken van een sessie en workflows. Deze mapping legt de gegevens vast aan het doel wanneer afdelingsnummer 20 in de gegevens wordt gevonden.