Преобразование управления транзакциями в Informatica (пример)
Что такое трансформация управления транзакциями?
Управление транзакциями — это активное и связанное преобразование, которое позволяет нам фиксировать или откатывать транзакции во время выполнения сопоставления. Операции фиксации и отката имеют большое значение, поскольку они гарантируют доступность данных.
При обработке большого объема данных может возникнуть ситуация, когда необходимо передать данные в цель. Если фиксация выполняется слишком часто, это приведет к увеличению нагрузки на систему. Если фиксация выполняется слишком поздно, то в случае неудачи есть вероятность потери данных.
Таким образом, для обеспечения гибкости предусмотрено преобразование управления транзакциями.
Команды TCL COMMIT и ROLLBACK
В этом преобразовании доступны пять встроенных переменных для выполнения операции.
TC_CONTINUE_TRANSACTION
В tc_continue_transaction никаких операций не производится, процесс загрузки данных продолжается как есть.
TC_COMMIT_BEFORE
В tc_commit_before, когда этот флаг установлен, фиксация выполняется перед обработкой текущей строки.
TC_COMMIT_AFTER
В tc_commit_после обработки текущей строки выполняется фиксация.
TC_ROLLBACK_BEFORE
В tc_rollback_before сначала выполняется откат, затем данные обрабатываются для записи.
TC_ROLLBACK_AFTER
В tc_rollback_after данные обрабатываются, затем выполняется откат.
Пример:
В этом примере мы передадим данные в цель, когда условие dept no =20 окажется истинным.
Шаг 1) Создайте сопоставление с EMP в качестве источника и EMP_TARGET в качестве цели.
Шаг 2) Создать новый преобразование используя меню трансформации, затем
- Выберите элемент управления транзакцией в качестве нового преобразования.
- Введите имя преобразования «tc_commit_dept20».
- Выберите вариант создания
Шаг 3) Будет создано преобразование управления транзакциями, нажмите кнопку «Готово».
Шаг 4) Перетащите все столбцы из квалификатора источника в преобразование управления транзакциями, затем свяжите все столбцы из преобразования управления транзакциями с целевой таблицей.
Шаг 5) Double нажмите на преобразование управления транзакциями, а затем в окне редактирования свойств
- Выберите вкладку свойств
- Нажмите на значок редактора контроля транзакций.
Шаг 6) в редакторе выражений введите выражение –
iif(deptno=20,tc_commit_before,tc_continue_transaction)» и выберите «ОК».
Это означает, что если обнаружен номер deptno 20, зафиксируйте транзакцию в цели, иначе продолжите текущую обработку.
Шаг 7) Выберите ОК в предыдущем окне.
Теперь сохраните отображение и выполните его после создания сеанса и рабочих процессов. Это сопоставление будет передавать данные целевому объекту всякий раз, когда в данных будет обнаружен номер отдела 20.