Transformacija kontrole transakcija u Informatici (primjer)
⚡ Pametni sažetak
Transformacija kontrole transakcija u Informatici je aktivni, povezani objekt koji potvrđuje ili vraća retke dok se mapaping pokreće se, koristeći pet ugrađenih varijabli unutar uvjeta koji se procjenjuje jednom za svaki redak.
Što je transformacija kontrole transakcija?
Kontrola transakcija je aktivna i povezana transformacija koja nam omogućuje potvrđivanje ili poništavanje transakcija tijekom izvršavanja mape.pingOperacije potvrđivanja (commit) i vraćanja (rollback) su od značajne važnosti jer jamče dostupnost podataka.
Prilikom obrade velike količine podataka može doći do situacije kada je potrebno poslati podatke na cilj. Ako se slanje podataka izvršava prečesto, to će predstavljati dodatno opterećenje za sustav. Ako se slanje podataka izvrši prekasno, u slučaju neuspjeha postoji mogućnost gubitka podataka.
Dakle, radi fleksibilnosti, omogućena je transformacija Kontrole transakcija. Umjesto da se točka potvrde ostavi na zadanoj vrijednosti sesije, dopušta uvjet unutar kartaping odlučiti, red po red, gdje jedna transakcija završava, a sljedeća počinje.
TCL naredbe za potvrđivanje i vraćanje u prethodno stanje
U ovoj transformaciji dostupno je pet ugrađenih varijabli za rukovanje operacijom. Uvjet mora vratiti jednu od pet za svaki redak, a vrijednost izvan tog popisa uzrokuje da Integration Service ne uspije sesiju.
TC_CONTINUE_TRANSACTION
U TC_CONTINUE_TRANSACTION ne izvode se nikakve operacije, proces učitavanja podataka se nastavlja kakav jest. Ovo je zadana vrijednost izraza.
TC_COMMIT_BEFORE
U TC_COMMIT_BEFORE, kada je ova zastavica postavljena, izvršava se potvrda (commit) prije obrade trenutnog retka. Tada započinje nova transakcija i trenutni redak se zapisuje u cilj.
TC_COMMIT_AFTER
U TC_COMMIT_AFTER obrađuje se trenutni red, zatim se izvršava potvrda (commit) i započinje sljedeća transakcija.
TC_ROLLBACK_BEFORE
U TC_ROLLBACK_BEFORE, prvo se izvodi vraćanje u prethodno stanje, a zatim se podaci obrađuju za pisanje.
TC_ROLLBACK_AFTER
U TC_ROLLBACK_AFTER se podaci obrađuju, a zatim se izvodi vraćanje u prethodno stanje.
Svojstva transformacije kontrole transakcija
Objekt se konfigurira iz prozora Uredi transformacije, koji sadrži iste četiri kartice kao i ostale PowerCenter transformacije. Poznavanje koje kartice posjeduje koju postavku štedi puno pretraživanja tijekom donjeg vodiča.
| Tabulator | Što je tamo konfigurirano |
| transformacija | Naziv transformacije, njezin opis i je li objekt omogućen za ponovnu upotrebu. |
| Luke | Ulazni i izlazni portovi, obično se stvaraju povlačenjem stupaca iz uzvodne transformacije. |
| Nekretnine | Uvjet kontrole transakcije, otvoren malom strelicom pokraj polja, i TracRazina zapisana u zapisnik sesije. |
| Proširenja metapodataka | Korisnički definirani metapodaci pohranjeni s transformacijom u repozitoriju. |
Dva podešavanja obavljaju pravi posao. Uvjet kontrole transakcije sadrži izraz, koji je obično IIF() test koji vraća jednu od pet varijabli. TracRazina odlučuje koliko će se detalja o transformaciji pojaviti u zapisniku sesije kada se istražuje izvođenje.
Jedna postavka nalazi se izvan transformacije. Kada kartaping sadrži učinkovitu transformaciju kontrole transakcija, sesija se izvodi s Vrsta potvrde postavljeno na Korisnički definirano na kartici Svojstva Sjednica, umjesto Target ili tipove izvornih potvrda koje koriste fiksni interval potvrda.
Kako koristiti transformaciju kontrole transakcija u Informatici
U ovom primjeru, podatke ćemo poslati cilju kada se uvjet broj odjela = 20 pokaže istinitim.
Korak 1) Izradi kartuping s EMP-om kao izvorom i EMP_TARGET kao ciljem. Kartaping Dizajnersko platno zatim sadrži izvor, njegov kvalifikator izvora i definiciju cilja.
Korak 2) Stvorite novu transformaciju pomoću izbornika Transformacija, a zatim u prozoru Stvori transformaciju:
- Odaberite Kontrolu transakcija kao novu transformaciju
- Unesite naziv transformacije “tc_commit_dept20”
- Odaberite opciju za stvaranje
Korak 3) Transformacija Kontrole transakcija bit će kreirana, odaberite gumb Gotovo. Novi objekt sada se pojavljuje na platnu pored Kvalifikatora izvora.
Korak 4) Povucite i ispustite sve stupce iz Kvalifikatora izvora u transformaciju Kontrole transakcija, a zatim povežite sve stupce iz transformacije Kontrole transakcija s ciljnom tablicom. Cjevovod sada izvodi izvor → Kvalifikator izvora → tc_commit_dept20 → EMP_TARGET.
Korak 5) Double kliknite na transformaciju Kontrola transakcija, a zatim u prozoru za uređivanje svojstava:
- Odaberite karticu svojstva
- Kliknite na ikonu uređivača kontrole transakcija
Korak 6) U editor izraza unesite izraz –
iif(deptno=20,tc_commit_before,tc_continue_transaction)
i odaberite U redu. To znači da ako se pronađe odjel broj 20, tada se transakcija potvrđuje u cilju, inače se nastavlja trenutna obrada.
Korak 7) Odaberite U redu u prethodnom prozoru. Uvjet je sada pohranjen na kartici Svojstva transformacije.
Sada spremite kartuping i izvršiti ga nakon stvaranja sesije i tijekova rada. Ova mapaping povjerit će podatke cilju kad god se u podacima pronađe odjel broj 20.
Učinkovite i neučinkovite transformacije kontrole transakcija
Transformacija je generator transakcija. Ona odbacuje sve granice transakcije koje stignu uzvodno i definira nove vlastite granice za sve nizvodno, zbog čega je njezin položaj u cjevovodu jednako važan kao i njezino stanje.
To se zove djelotvoran za cilj kada granice koje stvara još uvijek dosežu taj cilj i nedjelotvoran kada kasnija transformacija odbacuje te granice. Prema Vodiču za transformaciju Informatica PowerCenter, sljedeći objekti odbacuju granice dolaznih transakcija:
- Agregator, Stolar, Poredak, Sorter ili Prilagođena transformacija čiji je opseg transformacije Sav ulaz
- Prilagođena transformacija konfigurirana za generiranje transakcija
- Još jedna transformacija kontrole transakcija
- Višestruka transformacija ulazne grupe povezana s više od jedne uzvodne kontrolne točke transakcije
Neučinkovitost za cilj ne čini objekt beskorisnim. Nizvodna transformacija čiji je opseg transformacije Transakcija i dalje koristi granice definirane uzvodno, tako da ista transformacija može biti učinkovita za Sorter, a neučinkovita za tablicu iza njega.
Na kartiping S nekoliko ciljeva, objekt može biti učinkovit za jedan cilj, a neučinkovit za drugi. Kartaping ostaje valjan dok je svaki cilj povezan s učinkovitom transformacijom Kontrole transakcija, a postaje nevažeći čim jedan cilj nije. Dizajner izvještava koje transformacije nisu učinkovite za ciljeve kada je mapaping je spremljen ili potvrđen.
Pravila i smjernice za transformaciju kontrole transakcija
Većina problema s ovom transformacijom pojavljuje se tijekom izvođenja, a ne tijekom dizajniranja, stoga je vrijedno provjeriti sljedeće točke prije nego što se sesija izgradi.
- Povratna vrijednost je stroga. Ako se uvjet evaluira kao bilo što drugo osim potvrde, poništavanja ili nastavka, Integration Service ne uspijeva završiti sesiju.
- TC_CONTINUE_TRANSACTION je rezervna opcija. Svaka grana IIF() funkcije mora negdje završiti, a continue je vrijednost koja ostavlja trenutnu transakciju netaknutom.
- Vrsta cilja je važna. Transformacija kontrole transakcija povezana s bilo kojim ciljem koji nije relacijski, XML ili dinamički MQSeries cilj nije učinkovita za taj cilj.
- Stanje može koristiti samo ono što ga dosegne. Unutar editora kontrole transakcija dostupni su samo portovi povezani s transformacijom, njezini varijabilni portovi i ugrađene varijable.
- Učestalost potvrđivanja je kompromis. Uvjet koji se izvršava na gotovo svakom retku uklanja prednost međuspremnika, dok uvjet koji se gotovo nikada ne aktivira ponovno uvodi prozor gubitka podataka za čije je zatvaranje transformacija dodana.
- Provjerite zapisnik sesije. Zapisnik bilježi točke potvrde koje su stvarno zauzete, što je najbrži način da se potvrdi da se uvjet ponašao kako je predviđeno tijekom podešavanje izvedbe.








