Para terminar la idea del post anterior SQL Server Integration Services … en muy pocas palabras, un caso sencillo vamos a ver hoy una posible solución ante el caso de importar datos con estructura diferente a la nuestra intentando no perder ningún registro, aun cuando no cumpla los requisitos de longitud. Digo “posible solución” porque ya se sabe que en informática suele haber siempre varias formas para llegar al mismo resultado, esta es apenas una de ellas.
Antes nos interesaba cargar en nuestro destino solamente las filas que cumplieran el requisito de longitud, ahora nos interesa cargarlas todas, a las que cumplan no habrá que transformarlas y a las que no cumplan podemos hacerles un grupo de transformaciones para que se carguen sin miedo a errores en nuestro destino.
Esta sería la imagen que muestre el panel de Tarea de Flujo de datos.
La idea es aplicar División condicional para dividir nuestra muestra en filas válidas o cortas y filas no válidas o largas. Si seguimos la rama de las filas largas, les aplicamos primero una transformación de Multidifusión que garantiza que podamos definir varios destinos para la misma muestra, en su totalidad, no se trata de dividir sino de “multiplicar” las posibilidades de procesamiento de la muestra. Por una parte enviaremos toda la muestra sin procesar a un Destino de archivo plano y por otro lado aplicaremos una transformación de Columna derivada, que nos permite crear una nueva columna “Nombres” que sustituye a la anterior y cuya longitud es exactamente la que necesitamos al final, varchar(15). En este caso no se producen errores como lo que ocurren con la transformación Conversión de datos.
Como el objetivo final es que todas las filas: cortas y largas, vayan al destino, mezclamos ambas ramas y para ello es necesario que primero apliquemos transformación Ordenar y luego Mezclar, que garantiza que todas las filas van a parar al Destino OLE DB.
En esta segunda imagen vemos la tarea recién ejecutada que muestra el flujo de filas y demuestra que no hemos perdido nada por el camino. Tenemos las filas cortas, tal cual llegaron a nosotros y las largas truncadas, eso sí; pero no las hemos perdido.
Objetivo conseguido,
Hasta la próxima,
Saludos,
Ana María Bisbé York