Учебники

18) Transform Control Transform

Что такое трансформация управления транзакциями?

Управление транзакциями — это активное и связанное преобразование, которое позволяет нам фиксировать или откатывать транзакции во время выполнения отображения. Операции фиксации и отката имеют большое значение, поскольку они гарантируют доступность данных.

При обработке большого объема данных может возникнуть ситуация, когда данные будут переданы в целевой объект. Если фиксация выполняется слишком часто, это будет накладным расходом для системы. Если фиксация выполняется слишком поздно, то в случае сбоя есть вероятность потери данных.

Таким образом, для обеспечения гибкости обеспечивается трансформация управления транзакциями.

Команды TCL COMMIT & ROLLBACK

В этом преобразовании доступно пять встроенных переменных для обработки операции.

TC_CONTINUE_TRANSACTION

В tc_continue_transaction операции не выполняются, процесс загрузки данных продолжается как есть.

TC_COMMIT_BEFORE

В tc_commit_before, когда этот флаг найден установленным, фиксация выполняется перед обработкой текущей строки.

TC_COMMIT_AFTER

В tc_commit_after текущая строка обрабатывается, затем выполняется фиксация.

TC_ROLLBACK_BEFORE

В tc_rollback_before сначала выполняется откат, а затем данные обрабатываются для записи.

TC_ROLLBACK_AFTER

В tc_rollback_after данные обрабатываются, затем выполняется откат.

Пример:

В этом примере мы передадим данные в цель, когда условие dept no = 20 будет выполнено

Шаг 1 — Создайте отображение с EMP в качестве источника и EMP_TARGET в качестве цели

Трансформация управления транзакциями в Informatica с примером

Шаг 2 — Создайте новое преобразование, используя меню преобразования, затем

  1. Выберите элемент управления транзакцией в качестве нового преобразования
  2. Введите имя преобразования «tc_commit_dept20»
  3. Выберите вариант создания

Трансформация управления транзакциями в Informatica с примером

Шаг 3 — Трансформация управления транзакцией будет создана, нажмите кнопку «Готово»

Трансформация управления транзакциями в Informatica с примером

Шаг 4. Перетащите все столбцы из квалификатора источника в преобразование управления транзакциями, затем свяжите все столбцы из преобразования управления транзакциями с целевой таблицей.

Трансформация управления транзакциями в Informatica с примером

Шаг 5 — Двойной щелчок по трансформации управления транзакциями и затем в окне редактирования свойств

  1. Выберите вкладку свойства
  2. Нажмите на значок редактора управления транзакциями

Трансформация управления транзакциями в Informatica с примером

Шаг 6 — в редакторе выражений введите выражение —

« iif (deptno = 20, tc_commit_before, tc_continue_transaction)» и выберите ОК

Это означает, что если 20 будет найдено, то зафиксируйте транзакцию в цели, иначе продолжите текущую обработку.

Трансформация управления транзакциями в Informatica с примером

Шаг 7 — Выберите ОК в предыдущем окне

Трансформация управления транзакциями в Informatica с примером

Теперь сохраните отображение и выполните его после создания сеанса и рабочих процессов. Это сопоставление будет фиксировать данные для цели всякий раз, когда в данных будет найден номер отдела 20.