Ejemplo de Conversión de tipos de Datos (sin error) con SSIS 2008 – Configuración

Luego de la breve introducción sobre Componentes de la tarea Flujo de datos y algunos rasgos de las Transformaciones que la integran, hoy quiero mostrar un ejemplo de la tarea Conversión de datos, específicamente cuando convertimos de un tipo de dato a otro y no ocurre ningún error por ello.

Desde el mismo proyecto creado aquí y siguiendo los pasos indicados aquí,   creamos un paquete nuevo, al que cambiamos el nombre como mostramos aquí.

Desde el panel de Flujo de Control arrastramos una tarea de Flujo de datos

TareaFDConvFecha

Desde el panel Flujo de datos, vamos a configurar la tarea para que emplee apenas 3 componentes, un origen, una transformación y un destino.

Seleccionamos un Origen de OLE DB y lo renombramos como AW Products. Como ya sabemos, SSIS nos previene de la existencia de un error, que permanecerá hasta que hayamos creado un Administrador de conexión que enlace con este componente de origen.

OrigenAWProductsError

Sobre cómo crear Administradores de conexión ya hablamos aquí.

Recordemos que se trata de enlazar con el tipo de proveedor, servidor y base de datos o fichero dónde se encuentra el dato a extraer. En este ejemplo vamos a importar datos desde AdventureWorks.Product por lo que luego de establecer el Administrador de conexión con el servidor y la Base de datos Adventure Work, conectamos con la tabla en cuestión.

ConexionOrigenAWProd

En la ficha Columnas seleccionamos cuáles, de las columnas existentes en el origen, van a formar parte del conjunto de datos a transformar. Si hacemos analogía son las columnas que enumeramos en una instrucción SELECT en T_SQL. No hacer nada en esta ficha equivaldría a seleccionar SELECT *, … no digo más. Hay que extraer del origen lo necesario, nada más.

ConexionOrigenAWProdColumnas

Ahora que ya está correctamente definido el componente Origen para esta tarea de Flujo de datos, vamos a agregar una Transformación Conversión de datos y concretamente lo que vamos a hacer es convertir una columna del tipo DateTime en Date, tipo de dato válido para SQL Server 2008 y superior.

En SSIS los tipos de datos no son exactamente los mismos que podemos conocer en T-SQL; pero no me voy a detener en este aspecto, aquí se puede ver en detalle.

Una vez seleccionada la columna sobre la que queremos realizar la modificación, indicado su alias de salida y modificado el tipo de dato a DT_DBDATE el aspecto que presenta el editor es el siguiente.

ConversionSoloFecha

Sólo resta seleccionar el Destino, configurar su Administrador de conexión que apunte a la Base de datos MiDestino y a la nueva tabla ProductosFecha, que se va a crear la primera vez que se ejecute.

DestinoProductosFecha

No nos podemos olvidar de establecer la correspondencia entre las columnas que vienen procedentes del componente anterior y las que entran al destino. En este punto también es posible excluir columnas, en nuestro caso, quedan tal cual. Existe una alerta que se mantiene activa hasta tanto hayamos entrado en la ficha asignaciones.

AlertaAsigneColumnas

Este es el aspecto de la ficha una vez establecidas las asignaciones.

AsignaProduFecha

La tarea ha quedado configurada de esta forma y este es el aspecto que tenemos desde el panel Flujo de Datos.

FDProductosFecha

En la próxima entrega veremos y analizaremos el resultado obtenido al ejecutarlo.