Anda di halaman 1dari 12

Inteligencia de Negocios

Laboratorio Práctico N° 3-1

Proceso ETL con SSIS usando Consulta Join SQL

Prof. Víctor Valenzuela Ruz

Introducción
Paso a paso el desarrollo de una caso práctico de proceso ETL en transferencia de información de
base de datos entre un origen y destino haciendo uso de SSIS y DataTools.

En el siguiente ejercicio, se creará un proyecto SSIS que transferirá las filas de un join entre las tablas
Product y ProductSubCategory en la base de datos AdventureWorks, hacia una tabla ubicada en la
base de datos AWorks_MartDemo Para esto, se utilizará la transformación Data Flow Task.

Procedimiento
Verificar que se tiene instalada la base de datos AdventureWorks2012 en el equipo.

Luego, comprobamos los datos de las tablas Product y ProductSubCategory

1
Lo que queremos hacer es crear una tabla con campo sobre productos y el nombre de subcategoría.
La consulta SQL es:

Ahora podemos crear el proyecto usando el Data Tools de SQL Server 2012

Este nos abrirá el Visual Studio 2010 Shell, procedemos a crear un Nuevo proyecto

En la ventana de Nuevo proyecto, seleccionamos Business Intelligence  Integration Services y


luego, Proyecto de Integration Services. En Nombre, le damos AdventureWorks_SSIS_Demo1,
comprobamos que esté chequeada Crear directorio para la solución y damos Aceptar.

2
Nos muestra el ambiente de trabajo, el cuadro de herramientas de SSIS y en el Explorador de
soluciones, aparecen los paquetes, parámetros y la administración de conexiones.

Lo primero que vamos a realizar será crear la conexión del origen de datos. En este caso, la base
de datos AdventureWorks, para lo cual realizaremos una conexión vía ADO.NET

Para esto, nos ubicamos en Administración de Conexiones, y damos botón derecho para crear una
nueva conexión.

En la ventana de Agregar administrador de conexiones SSIS, seleccionamos el tipo de conexión


ADO.NET, y presionamos el botón Agregar.

Luego en la ventana de Administrador de conexiones ADO.NET, presionamos el botón nuevo para


crear una nueva conexión.

3
En la ventana de Administrador de conexiones, ingresamos los parámetros del servidor, nombre
de la base de datos y el nombre de usuario y la contraseña (en este caso, usamos la cuenta de
inicio de sesión de administrador o sa) para autentificar en SQL Server. Y luego comprobamos la
conexión.

4
A continuación, establecemos la conexión a la base de datos AdventureWorks2012, y luego
presionamos el botón Aceptar.

Y luego, nuevamente presionamos el botón Aceptar. Finalmente, ya tenemos configurada la


conexión a la base de datos de origen.

Ahora debemos crear la conexión de destino. En este caso, vamos a crear una base de datos de
nombre AWorks_MartDemo. Para ello, creamos una nueva base de datos en SQL Server
Management Studio (SSMS).

Y le damos el nombre anterior, y luego presionamos Aceptar con la cuenta sa.

5
Ahora creamos una nueva conexión en Administradores de conexiones en SSIS para esta base de
datos de destino AWorks_MartDemo, pero usando la conexión OLEBDB y presionamos Agregar.

Luego, creamos una nueva conexión de datos, presionando Nueva, y en la ventana Administrador
de conexiones, completamos los datos de servidor y nombre de usuario, seleccionamos la base de
datos de destino y probamos la conexión.

6
Para terminar, presionamos Aceptar. Y nuevamente, Aceptar, tal manera que tendremos dos
conexiones creadas en Administradores de conexiones, una de origen y otra de destino de los
datos.

Ahora nos falta crear los paquetes de trabajo para realizar la carga de los datos. Para ello, vamos a
Paquetes SSIS, y seleccionamos el paquete por defecto Package.dtsx, y le cambiamos el nombre
por CopiarProductos.

A continuaciones, vamos a crear una nueva tarea SQL para ejecutar. Para ello seleccionamos del
Cuadro de herramientas de SSIS, la opción Tarea Ejecutar SQL.

7
Luego lo arrastramos al área de trabajo, quedando del siguiente modo.

Ahora, le cambiamos el nombre a la tarea en el campo Name de Propiedades, por: Copiar


Productos.

Ahora seleccionamos la pestaña Flujo de datos, para definir el flujo de datos de la tarea. Luego, le
agregamos una Tarea de Flujo de Datos, y elegimos Origen de ADO.NET en Otros orígenes.

Luego lo arrastramos, al área de trabajo y nos agrega una nueva tarea.

8
Y le cambiamos el nombre a Consulta AdventureWorks en sus Propiedades.

Quedando del siguiente modo:

Vamos a configurar la tarea, para lo cual damos doble clic, y en la ventana de Editor de orígenes
ADO.NET seleccionamos el modo de acceso a datos Comando SQL, y luego agregamos la sentencia
SQL que generamos anteriormente.

vi

Damos Vista previa para verificar la conexión a datos, y luego Aceptar.

Ahora vamos a añadir el destino de los datos. En este caso, el destino es OLEDB, para lo cual
escogemos Destino de OLE DB en el grupo Otros destinos.

9
Y nos muestra el siguiente elemento.

Y le cambiamos el nombre por Productos destino.

Ahora unimos ambas elementos a través de la flecha azul.

Luego, damos doble clic sobre el nodo de Productos destino, y en la ventana de Editor de destino
OLE DB, creamos una nueva tabla, presionando el botón Nueva.

Vemos que ya se ha definido una tabla con los datos recuperados de la sentencia SQL, por lo que
seleccionamos Aceptar, y nos mostrará el nombre de la tabla que se va a crear.

Revisamos las asignaciones de columnas, presionando Asignaciones.

10
En donde podemos ver que los datos se van a pasar de una consulta SQL a una tabla.

Luego aceptamos esta asignación, con lo que se ha armado la arquitectura para proceder después
a ejecutar este trabajo.

Luego que queda es darle, depurar en el botón verde o bien F5,

Esto realizará la verificación y ejecución del trabajo, mostrando la siguiente imagen.

Ahora, revisamos en SQL Server, si se ha creado la tabla y si se han cargado los datos.

11
Con esto hemos visto que se han transferido los datos de la consulta SQL a la base de datos.

12

Anda mungkin juga menyukai