Преобразование управления транзакциями в Informatica: команды TCL

Содержание:

Anonim

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

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

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

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

Команды TCL COMMIT и ROLLBACK

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

TC_CONTINUE_TRANSACTION
В tc_continue_transaction операции не выполняются, процесс загрузки данных продолжается как есть.
TC_COMMIT_BEFORE
В tc_commit_before, когда установлено, что этот флаг установлен, перед обработкой текущей строки выполняется фиксация.
TC_COMMIT_AFTER
В tc_commit_a после обработки текущей строки выполняется фиксация.
TC_ROLLBACK_BEFORE
В tc_rollback_before сначала выполняется откат, затем данные обрабатываются для записи.
TC_ROLLBACK_AFTER
В tc_rollback_after данные обрабатываются, после чего выполняется откат.

Пример:

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

Шаг 1. Создайте сопоставление с EMP в качестве источника и EMP_TARGET в качестве цели

Шаг 2 - Создайте новую трансформацию с помощью меню трансформации, затем

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

Шаг 3 - Будет создана трансформация управления транзакциями, нажмите кнопку «Готово».

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

Шаг 5 - Дважды щелкните преобразование управления транзакцией, а затем в окне редактирования свойств.

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

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

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

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

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

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