Conversión de datos con SSIS 2008 controlando Truncamiento con Salida a Destino plano

Antes vimos cómo se puede solucionar un paquete en el que se ha producido un error de truncamiento en una tarea de Flujo de datos. La solución no me gusta nada, no sólo porque se perdieron las filas, sino también porque se perdió todo el contenido que había y no puedo reclamarle a mi suministrador “que me había prometido que no habría errores“.

Para suministrarle estos datos, lo que voy a hacer es que a la  Salida de error le mantengo su configuración; pero la enlazo con un Destino de archivo plano para almacenar en un fichero las filas con problemas e ir más allá de lo que tengo hasta ahora que es apenas conocer la cantidad.

Para no perder el ejemplo anterior duplico la tarea Flujo de datos y deshabilito la anterior

CopioFDDeshab1

Agregamos el Destino de Archivo Plano a la salida de error y este es el aspecto que queda

Salidadestinoplano

Tenemos la señal de error, de esto ya hablamos aquí, así es que pasamos a configurar el Administrador de conexiones de archivos planos. Definimos el formato del archivo

TipoArchivoPlano

Lo conectamos

EdiAdmiPlanoLargos

Nos recuerda que debemos crear las Asignaciones de columnas. Al fichero irán las columnas que deseemos y además se agrega un par de ellas con los nombres ErrorCode y ErrorColumn las que nos permitirán analizar y distinguir los distintos errores que surjan, aunque en este caso ya sabemos lo que va a pasar 🙂

columnasplanolargos

Ahora sí que está configurada la tarea y podemos ejecutar

conectoressalidalargos

Estupendo, no hay error, funcionó el paquete, tengo las buenas y las malas.

FDSalidaPlanosOK

Ahora sí que le podemos reclamar al suministrador y pedirle, eso sí… por favor :), que nos arregle esos datos para poderlos utilizar. Al abrir el archivo plano, lo vemos claro

TextoSalidaNombresLargos

Este ejemplo ya lo había expuesto en el artículo SSIS un caso sencillo en pocas palabras. En aquel entonces, era un ejemplo aislado, ahora está dentro de la serie, tiene otro enfoque y creo que vale la pena porque ilustra la situación que quiero destacar.

En la siguiente entrada continuamos viendo otra posible solución para este caso.