Creando ETL con SQL Server Integration Services (SSIS)

Hola Jóvenes SENATINOS de la SEDE Tarapoto de la carrera de Desarrollo de Software y personas interesadas, en esta oportunidad utilizaremos un complemento de SQL Server para Visual Studio, que resulta muy útil cuando debemos hacer una serie de tareas que necesitamos automatizar, por ejemplo en la práctica de hoy tendremos un archivo excel (.xls) y sus datos los migraremos a una base de datos y en el proceso utilizaremos una serie de Querys que también ejecutaran tareas.
SSIS es una herramienta ETL (Extraer, Transformar y Cargar), que es muy necesario para las aplicaciones de almacenamiento de datos. También se utiliza para realizar operaciones como la carga de los datos en función de la necesidad, la realización de diferentes transformaciones de los datos, como los cálculos que hacen (Suma, Promedio, entre otros) y para definir un flujo de trabajo de cómo debe fluir el proceso.
Manos a la Obra:
  • Luego de instalar el complemento, abren Visual Studio – New Project – y verán una pestaña nueva en el lado izquierdo que dira: “Business Intelligence” de esa pestaña seleccionan la opción “Integration Services Project” y lo llamamos: ETL
1
  • Luego de crear el proyecto podrán ver que hay opciones como: ControlFlow la cual será el flujo principal de nuestro ETL dentro de este flujo anexaremos los Query’s y los DataFlow que será el proceso mediante el cual buscara el archivo Excel y lo cargara en la base de datos… entonces en este caso yo cree una Base de datos llamada PruebaETL  y una tabla Calendario:
2
  • Pueden ver que la tabla Calendario tiene 40 registros y el archivo Excel tiene 52, entonces si queremos actualizar esa tabla en la BD debemos borrar todo su contenido con un Query y luego cargar el Excel:
3
4
Desde Visual Studio en la SSIS toolbox ubican la herramienta “Execute SQL Task” la arrastran al centro, luego verán que se agregó y le presionan doble click para agregar la conexión a la BD:
5
En la opción Connection despliegan y le dan a New connection, para agregar la conexión a la BD:
6
  • Colocan los datos correspondientes y para probar la conexión presionan “Test Connection” si todo sale bien presionan OK y agregan la conexión, luego irán a la opción “SQLStatement” donde pueden colocar el Query directamente en el cuadro de texto o también presionan en Browse y pueden agregar el Query mediante un archivo .sql, yo coloque un TRANSACT para borrar los registros de la Calendario, resultaría algo asi:
7
  • Luego así como arrastramos el “Execute SQL Task” de la barra de herramientas, ahora arrastraremos un “Data Flow Task” presionaremos doble click y se ira otra pestaña donde en su cuadro de herramientas arrastraremos un “Excel Source” presionamos doble click sobre el Excel source, luego New para colocar la ubicación de archivo .xls que deseamos cargar, recuerden validar en “Name of the Excel sheet” seleccionar la hoja de calcula correcta y previsualizan los datos para verificar:
8
  • Luego desde la barra de herramientas arrastran al área de trabajo una “OLE DB Destination”, doble click – Connection Manager – seleccionan la BD y la tabla correctas:
9
  • Debajo del “Connection Manager”, esta Mappings y aquí es donde vamos a asignar los valores a cada una de las columnas de la BD, las asociaremos:
10
  • Presionan OK y recuerden unir con la flecha azul el Excel source con el OLE DB Destination asi como lo ven en las figuras anteriores, luego van a la pestaña control Flow y unen con la flecha el Execute SQL Task con el Data Flow Task como ven debajo.
11
  • Ejecutan y pueden ver como la base de datos cambio el número de registros por los del archivo, así se pueden ir uniendo procesos y tareas hasta lograr automatizar un bloque de actividades que antes tomaban tiempo, era tedioso que estaba más propenso a errores.
12
Luego eso genera un archivo de extensión .dtsx que pueden ejecutar desde SQL por medio de Jobs…  espero les haya servido la información

Comentarios

Entradas populares de este blog

Ejercicios para aprender AutoCAD 3D

Piezas 3D - interesantes

Cómo instalar una fuente de alimentación