Co to jest transformacja kontroli transakcji?
Kontrola transakcji to aktywna i połączona transformacja, która pozwala nam zatwierdzać lub wycofywać transakcje podczas wykonywania mapowania. Operacje zatwierdzania i wycofywania mają duże znaczenie, ponieważ gwarantują dostępność danych.
Podczas przetwarzania dużej ilości danych może zaistnieć sytuacja, w której dane zostaną przekazane do celu. Jeśli zatwierdzenie jest wykonywane zbyt często, będzie to narzut dla systemu. Jeśli zatwierdzenie zostanie wykonane zbyt późno, w przypadku niepowodzenia istnieje ryzyko utraty danych.
Aby zapewnić elastyczność, zapewniona jest transformacja kontroli transakcji.
Polecenia TCL COMMIT & ROLLBACK
W tej transformacji dostępnych jest pięć wbudowanych zmiennych do obsługi operacji.
TC_CONTINUE_TRANSACTIONW tc_continue_transaction nie są wykonywane żadne operacje, proces ładowania danych przebiega bez zmian.
TC_COMMIT_BEFOREW tc_commit_before, gdy ta flaga jest ustawiona, zatwierdzenie jest wykonywane przed przetwarzaniem bieżącego wiersza.
TC_COMMIT_AFTERW tc_commit_after bieżący wiersz jest przetwarzany, a następnie wykonywane jest zatwierdzenie.
TC_ROLLBACK_BEFOREW tc_rollback_before, wycofywanie jest wykonywane najpierw, a następnie dane są przetwarzane do zapisu.
TC_ROLLBACK_AFTERW tc_rollback_after dane są przetwarzane, a następnie wykonywane jest wycofywanie.
Przykład:
W tym przykładzie zatwierdzimy dane do celu, gdy warunek dept no = 20 zostanie spełniony
Krok 1 - Utwórz mapowanie z EMP jako źródłem i EMP_TARGET jako celem
Krok 2 - Następnie utwórz nową transformację za pomocą menu transformacji
- Wybierz kontrolę transakcji jako nową transformację
- Wpisz nazwę transformacji „tc_commit_dept20”
- Wybierz opcję tworzenia
Krok 3 - Zostanie utworzona transformacja kontroli transakcji, wybierz przycisk gotowe
Krok 4 - Przeciągnij i upuść wszystkie kolumny z kwalifikatora źródła do transformacji kontroli transakcji, a następnie połącz wszystkie kolumny z transformacji kontroli transakcji z tabelą docelową
Krok 5 - Kliknij dwukrotnie transformację kontroli transakcji, a następnie w oknie edycji właściwości
- Wybierz zakładkę właściwości
- Kliknij ikonę edytora kontroli transakcji
Krok 6 - w edytorze wyrażeń wprowadź wyrażenie -
„ iif (deptno = 20, tc_commit_before, tc_continue_transaction)” i wybierz OK
Oznacza to, że jeśli zostanie znaleziony deptno 20, zatwierdź transakcję w miejscu docelowym, w przeciwnym razie kontynuuj bieżące przetwarzanie.
Krok 7 - Wybierz OK w poprzednim oknie
Teraz zapisz mapowanie i wykonaj je po utworzeniu sesji i przepływów pracy. To mapowanie spowoduje zatwierdzenie danych do celu za każdym razem, gdy w danych zostanie znaleziony dział numer 20.