Conversión de datos con SSIS 2008 con División Condicional y Columna Derivada

Nos habíamos quedado en el uso de la transformación División Condicional para dividir una muestra y tomar de ella sólo la parte originalmente válida.  Ahora iremos más allá, en realidad queremos quedarnos toda la muestra sin que ocurra ningún error. Para ello vamos a crear una nueva Tarea de Flujo de datos (copiando y pegando la anterior para variar)

Cuatrotareas

Agregamos una transformación de Columna Derivada

ColDevi4tarea

Para configurar esta transformación vemos el mismo Editor de expresiones, con el que se puede crear una columna nueva o reemplazar el resultado en una columna ya existente

ReemplazaColDevi

Decidimos Reemplazar y lo que vamos a dejar en el contenido son apenas los primeros 15 caracteres, que es lo que nuestro destino exige.

ExpreColDevi

Vamos a ejecutar sin haber decidido el destino, va todo bien, las filas “Largas” van por su flujo y las “Cortas” por el suyo, directico a la tabla ProductosFecha.

ColDeviOK

¿Qué tal si enlazamos de la Columna Derivada al Destino OLE DB? De esta forma entrarían a Producto los dos flujos, un flujo directamente y el otro después de trucarlo.

DestinoErrUnaEnt

No, no se puede 😦

El componente Destino OLE DB tiene una única entrada, hay que pensar en otra cosa. Y de eso estaremos hablando la próxima vez.