Jugando con SSIS conocí esta herramienta que permite ver los datos que “van pasando” por el proceso de extracción,transformación y carga. Esto es muy util para hacer una verificación a la vista de los datos.
Archivos de la categoría: Integration Services
Videotutorial: Como crear un paquete SSIS
Navegando por Youtube, encontré esta serie en la cual muestran la creacion de un paquete SSIS. Realiza un proceso super simple: Lee un archivo de texto, realiza un filtro y escribe un archivo de texto distinto.
El material está en Inglés.
Parte I:
Parte II:
Parte III:
Desde SQL Server 2012 RC0 hacia MySQL
¡Buenos días! En este post, explicaré paso a paso como enviar datos (texto plano) desde SQL Server 2012 RC0 hacia MySQL.
Entorno:
Máquina virtual Windows Server 2008 R2 SP1 corriendo sobre Windows Server 2008 R2 con Hyper-V, en la que está instalado Microsoft SQL Server 2012 RC0 y MySQL 5.5 Community Edition.
La máquina virtual cuenta con 2048 MB de memoria física.
Datos
Como era la primera prueba, solo usé una tabla con 10 registros.
La información de la tabla es la siguiente:
Driver ODBC de MySQL
Aquí hay un punto muy importante en el que perdí mucho tiempo ayer. En el sitio de descargas de MySQL (http://www.mysql.com/downloads/connector/odbc/) , existen versiones para 32 y para 64 bits. En mi caso, instalé el que correspondía a mi arquitectura y no me funcionó. Windows me lo reconocía, pero al momento de crear la conexión en SQL Server Data Tools, va a arrojar y no va a funcionar. Curiosamente todo se solucionó cuando instalé una versión de 32 bits.
De cualquier manera, espero que te resulte de cualquier modo.
Modelo de Datos
Es muy importante tenerlo claro, ya que los datos se deben organizar de la misma forma en el destino de la operación. En este caso, el modelo que estaba en SQL Server debe respetarse en MySQL.
En algunos tutoriales en Internet mencionan crear las tablas en el destino antes de cargar los datos. En otros, muestran que se puede hacer desde SQL Server Data Tools.
En este caso, la creé antes de cargar los datos:
En este ejemplo, es solo una tabla. No me gustaría que quedara un desastre cuando son hartas tablas.
¡Manos a la obra!
Antes de comenzar, hay que configurar la conexion a la base de datos desde Inicio -> Herramientas Administrativas -> Origenes de Datos (ODBC)
Agregar uno nuevo:
Al apretar el botón de finalizar (o finish), aparecerá un formulario solicitando los datos de la conexión a la base de datos de MySQL:
Hay que llenarlos con los datos propios de cada equipo. Yo puse los míos (obvio) y tu tienes que poner los tuyos. Es importante que rellenes todos los campos, porque al momento de presionar el botón de “test” debe aparecer algo así:
Al presionar “OK”, volverá a la ventana de configuración de conexión a MySQL. Apretar “Ok” nuevamente. Esto cerrará la ventana y quedará la ventana de ODBC abierta. Verificar que aparezca la nueva conexión creada y presionar “Ok” para cerrar la ventana.
Ir a Inicio-> Todos los Programas -> SQL Server 2012 RC0 -> SQL Server Data Tools
Cargará un IDE con una interfaz gráfica idéntica a Visual Studio 2010. En la ventana, se crea un nuevo proyecto: (seguir lo que está marcado con amarillo)
Cargará un proyecto vacío. Lo primero que se debe hacer, es crear las conexiones de ambas bases de datos. Primero, se hará la del origen (SQL Server).
A la mano derecha de la pantalla (La pantalla no tiene manos jeje) hay un cuadro llamado Solution Explorer y en su árbol hay un directorio (o nodo (o como quieran decirle)) llamado Connection Managers
En Connection Managers, con un click secundario, se selecciona la opción New Connection Manager
Se crea una conexión utilizando ADO.NET. Luego, se abrirá una ventana solicitando los datos de la conexión.
¡Completa el formulario con tus datos! (pista: el “.” hace referencia a la máquina local). Al momento de probar la conexión debe salir esto:
Para crear la conexión a MySQL se deben repetir los mismos pasos, pero cambiando los datos de conexión:
Como aparece en la imagen, hay que cambiar el proveedor de datos (Para SQL Server se usó uno distinto. Para MySQL hay que usar ODBC). Se selecciona el nombre de la conexión en el combobox y luego se ingresan los datos de nombre de usuario y contraseña.
En el entorno, hay varias pestañas. Las que nos importan ahora son: Control Flow y Data Flow:
En Control Flow, arrastramos un objeto llamado Data Flow y debe quedar así:
En la pestaña de Data Flow se arrastran los elementos de Origen de datos ADO.NET y Destino de datos ODBC:
Una vez que la conexión está configurada y seleccionada la tabla con la que se trabajará, es necesario echarle una mirada a las columnas. Ver cuales son y como se “exportarán”.
Si todo está bien, se selecciona “OK” y se hace lo mismo para configurar el destino (pero sobre el objeto de ODBC). La información de destino debe estar mas o menos así:
En la sección de “Mappings” se configura las columnas de origen y las de destino. Como quedan enlazadas. A buenas y a primeras, me decía “ignore”. Luego al echar a correr la solución, me arrojó un error por eso mismo. Volví a la vista de diseño y pude configurarlo. Para ser sincero, no sé por qué pasó eso, pero lo pude solucionar.
Para que tengas una idea de como debe quedar, aquí está la imagen:
Al apretar OK, la ventana se cerrará y mostrará la pestaña de data flow. En Data Flow, unir la flecha azul del origen y llevarla al destino. Tal como aparece en la imagen:
Se guarda el proyecto y se ejecuta para ver qué es lo que ocurre (Se ejecuta con F5). Observar que en ejecución aparece una nueva pestaña llamada Progress:
En progress, tal como su nombre lo indica, mostrará el progreso y las tareas que se están ejecutando. En caso de aparecer algún error, lo indicará ahí. Si todo ha terminado bien, aparecerá un mensaje así:
La única forma de corroborar, es ver si los datos fueron llevados a su destino:
Eso es todo!