Configuración de Manejo de errores en Write to DB

La etapa Write to DB tiene ahora un puerto de error que permite filtrar aquellos registros que causan errores en la base de datos cuando se escribe el registro en una base de datos, tales como una infracción de restricción de la clave principal o una violación de restricción única. Estos registros pueden ser redirigidos hacia otra ruta en el flujo de datos, mientras se confirman otros registros. Por ejemplo, si está procesando 100 registros y los registros 4, 23, y 56 provocan un error en la base de datos, estos tres registros serán redirigidos por medio del puerto de error, en tanto los otros 97 registros serán confirmados en la base de datos.

Nota: El uso del puerto de error es opcional. Si no usas el puerto de error, el trabajo fallará si cualquier registro causa un error.
  1. Desde la paleta, seleccione la etapa del tipo en la cual usted desea manejar errores (por ejemplo, Write to File) y arrástrela hacia el lienzo. Hay un par de opciones para seleccionar una etapa:
    • Para escribir registros fallidos en un archivo, arrastre alguno de los siguientes hacia el lienzo: Write to File, Write to XML, o Write to Variable Format File.
    • Para sencillamente descartar los registros fallidos, arrastre Write to Null hacia el lienzo.
  2. Conecte el puerto de error de Write to DB con la etapa en la que desea manejar los registros fallidos.

    El siguiente ejemplo muestra el puerto de error en Write to DB conectado con una etapa Write to File. En este ejemplo, los registros que causan un error cuando se escriben en la base de datos son en cambio escritos en el archivo especificado en la etapa Write to File.

Cuando ejecuta el flujo de datos, los registros que causan un error son redirigidos a través del puerto de error. Los registros del puerto de error contienen los campos especificados en Write to DB además de los siguientes campos:

Código de error
Este campo contiene el código de error numérico devuelto desde la base de datos. Por ejemplo, dado el error ORA-00001: unique constraint ANKUSH.SYS_C0010018) violated, el valor en el campo Error.code sería 1. Consulte la documentación de la base de datos de su software para encontrar una lista de los códigos de error.
Error.Message
Este campo contiene el mensaje de error devuelto desde la base de datos. Por ejemplo: ORA-01034 ORACLE not available. En este caso, ORACLE not available sería el valor en el campo Error.Message. Consulte la documentación de la base de datos de su software para encontrar una lista de los mensajes de error.
Error.SQLState
Este campo contiene el código SQLSTATE que entrega información pormenorizada acerca de la causa del error. Para obtener una lista de códigos SQLSTATE, consulte la documentación de la base de datos de su software .
Timestamp
La fecha y hora en el servidor Spectrum™ Technology Platform en el momento en que se produjo el error.
UserName
El nombre del usuario de Spectrum™ Technology Platform que ejecutó el flujo de datos.