De programacion y otros demonios

domingo, 10 de enero de 2010

SSIS - Paso a paso Exportar consulta a archivo excel

Para este ejemplo leeremos los datos desde una tabla llamada Cargos y los vamos a grabar en un archivo excel.


1. Crea las conexiones, necesitamos un Connection Manager a nuestra base de datos, el mio lo he llamado ORIGEN_Neptuno ( como hacerlo lo expliqué aquí).

También necesitamos un archivo excel.  Para esto dá clic derecho sobre un espacio vacío dentro del panel Connection Managers, y elige New Connection.






Selecciona como Type: Excel y presiona el botón Add, te abrirá una ventana solicitando la ruta del archivo y la version compatible de excel.

Mira que hay un campo para  seleccionar si quieres que en la primera fila aparezcan los nombres de las columnas, yo la dejo seleccionada porque si quiero.




2. Agrega la fuente de datos, desde el panel Toolbox en la seccion Data Flow Sources agrega al panel central un OLE DB Source y configúralo con ORIGEN_Neptuno.

3. Agrega el destino de datos, desde el panel Toolbox en la sección Data Flow Destinations agrega al panel central un Excel Destination y dá doble clic, vamos a configurarlo,


a. Dá clic sobre el OLE DB Source y conecta la flecha verde con el componente Excel.

b. Elige como OLE DB connection Manager el Excel Connection Manager (o como lo hayas llamado) que creamos en el paso 1.

c. Data access mode dale Table or view.

d. Al desplegar Name of the Excel sheet te va a decir que no hay ninguna, presiona el botón New, te sale un sql para crear una tabla, basado en la tabla que elegimos en el paso 1 para nuestra fuente destino, esto es automático no tienes que escribir nada.

e. Dale OK a todo, ve a la sección Mappings y asegúrate que los campos origen corresponden a los campos destino si necesitas hacer cambios, dá clic encima de la flecha (te va a quedar en negrita) y puedes eliminarla con la tecla delete.

Para volver a crearla dá clic sostenido sobre alguna columna de Available Inputs Columns y sueltalo sobre la columna correspondiente de Available Destination Column.





f. A mi me salió una cruz sobre el destino excel, deja el puntero del mouse un rato sobre la cruz y te mostrará el mensaje de error ó también puedes verlo en el panel de Error List.

El error dice que no puede convertir entre strings Unicode y no-Unicode... :S ...  datos .....ggrrr




g. Bueno, agregaré desde el Toolbox un componente Data Conversion para solucionarlo.

Este componente te permite cambiar entre tipos de datos, ejemplo: si tienes un string que viene así desde tu BD puedes cambiarlo aquí por un Int4.





h.  Ingresa al componente y crea dos nuevos campos, yo suelo llamarlos igual que la columna origen y agregarles al final _conv para saber que estos son los convertidos, da clic sobre la columna Data Type y elige el tipo de dato que quieres, para mi sería string no-Unicode, osea DT_WSTR.

Y si, eso solucionó mi problema y ya mi paquete funciona.

Etiquetas:

7 comentarios:

Publicar un comentario



<< Inicio