Transaksjonskontrolltransformasjon i Informatica (eksempel)
Hva er Transaksjonskontrolltransformasjon?
Transaksjonskontroll er en aktiv og tilkoblet transformasjon som lar oss foreta eller tilbakestille transaksjoner under utførelsen av kartleggingen. Commit og rollback-operasjoner er av betydelig betydning da det garanterer tilgjengeligheten av data.
Når du behandler et stort datavolum, kan det oppstå en situasjon når du skal forplikte dataene til målet. Hvis en commit utføres for ofte, vil det være en overhead for systemet. Hvis en commit utføres for sent, er det sjanser for tap av data i tilfelle feil.
Så for å gi fleksibilitet Transaksjonskontrolltransformasjon er gitt.
TCL COMMIT & ROLLBACK-kommandoer
Det er fem innebygde variabler tilgjengelig i denne transformasjonen for å håndtere operasjonen.
TC_CONTINUE_TRANSACTION
I tc_continue_transaction er det ingen operasjoner utført, prosessen med datainnlasting fortsetter som den er.
TC_COMMIT_BEFORE
I tc_commit_before når dette flagget er funnet satt, utføres en commit før behandlingen av gjeldende rad.
TC_COMMIT_AFTER
I tc_commit_after den gjeldende raden er behandlet, utføres en commit.
TC_ROLLBACK_BEFORE
I tc_rollback_before utføres rollback først, deretter behandles data for å skrive.
TC_ROLLBACK_AFTER
I tc_rollback_after data er behandlet utføres tilbakerullingen.
Eksempel:
I dette eksemplet vil vi forplikte data til målet når dept no =20-betingelsen er funnet sann
Trinn 1) Lag en kartlegging med EMP som kilde og EMP_TARGET som mål
Trinn 2) Lage en ny transformasjon ved å bruke transformasjonsmenyen, da
- Velg en transaksjonskontroll som den nye transformasjonen
- Skriv inn transformasjonsnavnet "tc_commit_dept20"
- Velg opprettingsalternativ
Trinn 3) Transaksjonskontrolltransformasjonen vil bli opprettet, velg ferdig-knappen
Trinn 4) Dra og slipp alle kolonnene fra kildekvalifiseringen til transaksjonskontrolltransformasjonen og koble deretter alle kolonnene fra transaksjonskontrolltransformasjonen til måltabellen
Trinn 5) Double klikk på transaksjonskontrolltransformasjonen og deretter i rediger egenskapsvinduet
- Velg egenskapsfanen
- Klikk på redigeringsikonet for transaksjonskontroll
Trinn 6) i uttrykkseditoren skriv inn uttrykket –
"iif(deptno=20,tc_commit_before,tc_continue_transaction)» og velg OK
Det betyr at hvis avd. 20 blir funnet, så foreta transaksjonen i målet, ellers fortsetter den gjeldende behandlingen.
Trinn 7) Velg OK i forrige vindu
Lagre nå kartlegging og utfør den etter å ha opprettet økter og arbeidsflyter. Denne kartleggingen vil forplikte dataene til målet hver gang avdeling nummer 20 blir funnet i dataene.