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
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.
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.
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.
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.
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.
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.
Este es el aspecto de la ficha una vez establecidas las asignaciones.
La tarea ha quedado configurada de esta forma y este es el aspecto que tenemos desde el panel Flujo de Datos.
En la próxima entrega veremos y analizaremos el resultado obtenido al ejecutarlo.