¿Qué es la transformación del control de transacciones?
Transaction Control es una transformación activa y conectada que nos permite confirmar o deshacer transacciones durante la ejecución del mapeo. Las operaciones de confirmación y reversión son de gran importancia, ya que garantizan la disponibilidad de los datos.
Al procesar un gran volumen de datos, puede haber una situación en la que enviar los datos al destino. Si una confirmación se realiza con demasiada frecuencia, será una sobrecarga para el sistema. Si una confirmación se realiza demasiado tarde, en caso de falla, existen posibilidades de pérdida de datos.
Entonces, para proporcionar flexibilidad, se proporciona transformación de control de transacciones.
Comandos TCL COMMIT & ROLLBACK
Hay cinco variables integradas disponibles en esta transformación para manejar la operación.
TC_CONTINUE_TRANSACTIONEn tc_continue_transaction no se realizan operaciones, el proceso de carga de datos continúa como está.
TC_COMMIT_BEFOREEn tc_commit_before, cuando esta bandera se encuentra establecida, se realiza una confirmación antes del procesamiento de la fila actual.
TC_COMMIT_AFTEREn tc_commit_after, se procesa la fila actual y luego se realiza una confirmación.
TC_ROLLBACK_BEFOREEn tc_rollback_before, primero se realiza la reversión y luego se procesan los datos para escribir.
TC_ROLLBACK_AFTEREn tc_rollback_after, los datos se procesan y luego se realiza la reversión.
Ejemplo:
En este ejemplo, confirmaremos datos al objetivo cuando la condición dept no = 20 se encuentre verdadera
Paso 1 : cree un mapeo con EMP como origen y EMP_TARGET como destino
Paso 2 : cree una nueva transformación usando el menú de transformación, luego
- Seleccione un control de transacciones como la nueva transformación
- Ingrese el nombre de transformación "tc_commit_dept20"
- Seleccione la opción de crear
Paso 3 : se creará la transformación de control de transacciones, seleccione el botón Listo
Paso 4 : arrastre y suelte todas las columnas del calificador de origen a la transformación de control de transacciones y luego vincule todas las columnas de la transformación de control de transacciones a la tabla de destino
Paso 5 : haga doble clic en la transformación de control de transacciones y luego en la ventana de propiedades de edición
- Seleccionar pestaña de propiedad
- Haga clic en el icono del editor de control de transacciones
Paso 6 - en el editor de expresiones ingrese la expresión -
" iif (deptno = 20, tc_commit_before, tc_continue_transaction)" y seleccione Aceptar
Significa que si se encuentra deptno 20, confirme la transacción en el destino, de lo contrario, continúe con el procesamiento actual.
Paso 7 : seleccione Aceptar en la ventana anterior
Ahora guarde el mapeo y ejecútelo después de crear la sesión y los flujos de trabajo. Este mapeo enviará los datos al objetivo siempre que se encuentre el número de departamento 20 en los datos.