Che cos'è la trasformazione del controllo delle transazioni?
Il controllo delle transazioni è una trasformazione attiva e connessa che ci consente di eseguire il commit o il rollback delle transazioni durante l'esecuzione della mappatura. Le operazioni di commit e rollback sono di importanza significativa in quanto garantiscono la disponibilità dei dati.
Quando si elabora un volume elevato di dati, può verificarsi una situazione in cui eseguire il commit dei dati sulla destinazione. Se un commit viene eseguito troppo frequentemente, sarà un sovraccarico per il sistema. Se un commit viene eseguito troppo tardi, in caso di errore ci sono possibilità di perdita di dati.
Quindi, per fornire flessibilità, viene fornita la trasformazione del controllo delle transazioni.
Comandi TCL COMMIT & ROLLBACK
Sono disponibili cinque variabili integrate in questa trasformazione per gestire l'operazione.
TC_CONTINUE_TRANSACTIONIn tc_continue_transaction non ci sono operazioni eseguite, il processo di caricamento dei dati continua così com'è.
TC_COMMIT_BEFOREIn tc_commit_before, quando questo flag viene trovato impostato, viene eseguito un commit prima dell'elaborazione della riga corrente.
TC_COMMIT_AFTERIn tc_commit_after che la riga corrente è stata elaborata, viene eseguito un commit.
TC_ROLLBACK_BEFOREIn tc_rollback_before, il rollback viene eseguito prima, quindi i dati vengono elaborati per la scrittura.
TC_ROLLBACK_AFTERIn tc_rollback_after i dati vengono elaborati, viene eseguito il rollback.
Esempio:
In questo esempio, invieremo i dati al target quando la condizione dept no = 20 è vera
Passaggio 1 : creare una mappatura con EMP come origine e EMP_TARGET come destinazione
Passaggio 2 : creare una nuova trasformazione utilizzando il menu di trasformazione, quindi
- Seleziona un controllo delle transazioni come nuova trasformazione
- Inserisci il nome della trasformazione "tc_commit_dept20"
- Seleziona l'opzione di creazione
Passaggio 3 : verrà creata la trasformazione del controllo delle transazioni, selezionare il pulsante Fine
Passaggio 4 : trascina e rilascia tutte le colonne dal qualificatore di origine alla trasformazione del controllo delle transazioni, quindi collega tutte le colonne dalla trasformazione del controllo delle transazioni alla tabella di destinazione
Passaggio 5 : fare doppio clic sulla trasformazione del controllo delle transazioni e quindi nella finestra di modifica delle proprietà
- Seleziona la scheda proprietà
- Fare clic sull'icona dell'editor di controllo delle transazioni
Passaggio 6 : nell'editor delle espressioni immettere l'espressione -
" iif (deptno = 20, tc_commit_before, tc_continue_transaction)" e seleziona OK
Significa che se viene trovato deptno 20, eseguire il commit della transazione nella destinazione, altrimenti continuare l'elaborazione corrente.
Passaggio 7 : selezionare OK nella finestra precedente
Ora salva la mappatura ed eseguila dopo aver creato la sessione e i flussi di lavoro. Questa mappatura invierà i dati alla destinazione ogni volta che il reparto numero 20 viene trovato nei dati.