tutorial completo ssis integration service karen andrade efrain saransig

83
20-10-2016 UNIVERSIDAD TÉCNICA DEL NORTE CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES INTELIGENCIA DE NEGOCIOS I INTEGRANTES: KAREN ANDRADE EFRAÍN SARANSIG

Upload: efrain-criss

Post on 12-Apr-2017

425 views

Category:

Business


18 download

TRANSCRIPT

Page 1: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

20-10-2016

UNIVERSIDAD TÉCNICA DEL NORTE

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES

INTELIGENCIA DE NEGOCIOS I

INTEGRANTES:

KAREN ANDRADE

EFRAÍN SARANSIG

Page 2: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

TEMA: Tutorial de SSIS Crear un paquete ETL sencillo.

INSTALACIÓN DE BUSINESS INTELLIGENCE PARA SQL SERVER 2014

Ejecutamos el instalador Microsoft Businnes Intelligence.

Instamos las nuevas características

Page 3: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG
Page 4: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

ANÁLISIS DE LA BASE DE DATOS DE PRUEBA

ADVENTUREWORKS

Escenarios empresariales de AdventureWorks Cycles

AdventureWorks Cycles, es una gran empresa de fabricación multinacional. La

empresa fabrica y vende bicicletas de metal y de metal compuesto en los

mercados de Norteamérica, Europa y Asia. Si bien su sede central de

operaciones se encuentra en Bothell, Washington, con 290 empleados, en toda

su base de mercado tiene distribuidos varios equipos regionales de ventas.

En el año 2000, AdventureWorks Cycles compró una pequeña planta de

fabricación, Importadores Neptuno, situada en México. Importadores Neptuno

fabrica varios subcomponentes muy importantes para la línea de productos de

AdventureWorks Cycles. Estos subcomponentes se envían a la sede de Bothell

para el ensamblado final del producto. En el año 2001, Importadores Neptuno

pasó a ser el único fabricante y distribuidor del grupo de productos de bicicletas

de paseo.

Tras un año fiscal con muy buenos resultados, AdventureWorks Cycles está

intentando ampliar su cuota de mercado dirigiendo sus ventas a sus mejores

clientes, ampliando la disponibilidad de sus productos en un sitio web externo, y

reduciendo los costos de venta a través de costos de producción más bajos.

Escenario de ventas y marketing

Se detalla acerca de los clientes representados en la base de datos de ejemplo,

un esquema de las tablas principales de clientes y ventas, y consultas de ejemplo

que muestran relaciones existentes entre las tablas.

Tipos de cliente

Individuos: clientes que compran productos de la tienda en línea de

AdventureWorks Cycles.

Tiendas: tiendas de venta al por menor o al por mayor que compran a los

representantes de ventas de AdventureWorks Cycles productos para la

reventa.

Page 5: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

ESCENARIOS: manufactura, ventas, compras, gestión de producto, gestión de

contactos y recursos humanos.

Tipo de cliente Tablas principales

Individual (I) Person.Contact

Sales.Customer

Sales.Individual

Sales.SalesOrderHeader

Sales.SalesOrderDetail

Store (S) Person.Contact

Sales.Customer

Sales.Store

Sales.StoreContact

Sales.SalesOrderHeader

Sales.SalesOrderDetail

INFORMACIÓN GENERAL SOBRE EL PRODUCTO

AdventureWorks Cycles tiene las cuatro líneas de producto siguientes:

Bicicletas

Componentes de bicicleta

Equipos para bicicleta

Accesorios para bicicleta

Tablas de producto

La tabla siguiente contiene una breve descripción de los datos que se almacenan

en las tablas relacionadas con el producto.

Tabla Descripción

Production.BillOfMaterials Lista de todos los componentes que se utilizan para

fabricar bicicletas y subconjuntos de bicicleta.

Production.Culture Idiomas utilizados en las descripciones traducidas

del producto.

Page 6: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Production.Location Lista de las ubicaciones de Adventure Works Cycles

en las que los productos y las piezas se almacenan

como inventario.

Production.Product Información sobre cada producto vendido.

Production.ProductCategory Clasificación más general de los productos. Por

ejemplo, bicicleta o accesorio.

Production.ProductCostHistory Costo de los productos a lo largo del tiempo.

Production.ProductDescription Descripción completa de los productos en distintos

idiomas.

Production.ProductInventory Nivel de inventario de los productos por ubicación.

Production.ProductListPriceHist

ory

Precio listado de los productos a lo largo del tiempo.

Production.ProductModel Modelos del producto asociados a productos.

ProductModelProductDescriptio

nCulture

Referencia cruzada entre modelos de producto,

descripciones de producto y los idiomas a los que se

ha traducido la descripción.

Production.ProductPhoto Imágenes de los productos vendidos.

Production.ProductReview Nota de comentario de los clientes sobre los

productos de Adventure Works Cycles.

Production.ProductSubcategory Subcategorías de las categorías de los productos.

Por ejemplo, Mountain, Road y Touring son

subcategorías de la categoría Bike.

INFORMACIÓN GENERAL DEL PROVEEDOR Y COMPRAS

El departamento de compras adquiere las materias primas y las piezas que se

utilizan para fabricar las bicicletas. También adquiere productos para la reventa,

como equipamiento para bicicletas y complementos, como botellas para el agua

y bombas de aire.

Tabla Descripción

Person.Address Información sobre la dirección postal de todos los

clientes.

Page 7: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Person.Contact Nombre de los empleados del proveedor a

quienes los agentes de compras Adventure Works

Cycles solicitan productos.

Production.ProductVendor Correlaciona los proveedores con los productos

que suministran. Un mismo producto puede ser

suministrado por más de un proveedor, y un

proveedor puede suministrar más de un producto.

Purchasing.PurchaseOrderDetail Detalles del pedido de compra, como los

productos pedidos, la cantidad y el precio unitario.

Purchasing.PurchaseOrderHeader Información de resumen del pedido de compra,

como el importe total debido, la fecha del pedido y

el estado del pedido.

Purchasing.ShipMethod Tabla de búsqueda que se utiliza para mantener

métodos estándar de envío de productos.

Purchasing.Vendor Detalles sobre los proveedores, como el nombre

del proveedor y el número de cuenta.

Purchasing.VendorAddress Vincula los clientes con la información de

direcciones en la tablaAddress.

Purchasing.VendorContact Información sobre la dirección postal de todos los

clientes.

INFORMACIÓN GENERAL DE FABRICACIÓN

Procesos de fabricación:

Lista de materiales

Pedidos de trabajo

Ubicaciones

Instrucciones de fabricación y ensamblado de productos por centro

de trabajo.

Inventario de productos: ubicación física de un producto en el almacén o

el área de fabricación, y cantidad disponible en dicha área.

Documentación de ingeniería: especificaciones técnicas y documentación

de mantenimiento para bicicletas o componentes de las bicicletas.

Page 8: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

La tabla siguiente contiene una breve descripción de los datos que se almacenan

en las tablas de fabricación.

Tabla Descripción

Production.BillOfMaterials Lista de todos los componentes que se utilizan

para fabricar bicicletas y subconjuntos de bicicleta.

Production.Document Especificaciones de ingeniería y otros

documentos técnicos.

Production.Illustration Ilustraciones de fabricación de las bicicletas.

Production.Location Lista de áreas de inventario y fabricación de los

productos y las piezas se almacenan como

inventario o como finalizados.

Production.Product Información sobre cada producto vendido o

utilizado para fabricar bicicletas y componentes de

bicicleta de Adventure Works Cycles.

Production.ProductInventory Nivel de inventario de los productos por ubicación.

Production.ProductModel Modelos del producto asociados a productos. Por

ejemplo, Mountain-100 o LL Touring Frame.

Production.ScrapReason Lista de motivos comunes sobre el porqué del

rechazo de las bicicletas o piezas de bicicleta

durante el proceso de fabricación.

Production.WorkOrder Define los productos y la cantidad que debe

fabricarse para satisfacer las ventas actuales y las

previstas.

Production.WorkOrderRouting Detalles de cada pedido de trabajo.

Page 9: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Lecciones de este

tutorial

Lección 1: Crear un proyecto y un

paquete básico con SSIS En esta lección, creará un paquete ETL sencillo que extrae datos de un único archivo plano, transforma los datos mediante transformaciones de búsqueda y, por último, carga los resultados en un destino de tabla de hechos.

Page 10: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

PROCEDIMIENTO

Tareas de la lección

Esta lección contiene las siguientes tareas:

Paso 1: Crear un nuevo proyecto de Integration Services En este tutorial se usa el Asistente para importación y exportación de SQL Server para crear un paquete básico ejecutando el asistente en Business Intelligence Development Studio. El asistente se inicia desde un proyecto de Integration Services. En esta tarea creará el proyecto de Integration Services.

Para crear un proyecto de Integration Services

1. En el menú Inicio, elija Todos los programas, Microsoft SQL Server y, a continuación, haga clic en SQL Server Data Tools.

2. En el menú Archivo, seleccione Nuevo y haga clic en Proyecto para crear un proyecto de Integration Services.

3. En el cuadro de diálogo Nuevo proyecto, expanda el nodo Business Intelligence bajo Plantillas instaladas y seleccione Proyecto de Integration Services en el panel Plantillas.

Page 11: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

4. En el cuadro Nombre, cambie el nombre predeterminado por SSIS Tutorial. Opcionalmente, desactive la casilla Crear directorio para la solución.

5. Acepte la ubicación predeterminada o haga clic en Examinar para desplazarse a la carpeta que desee utilizar. En el cuadro de diálogo Ubicación del proyecto, haga clic en la carpeta y, a continuación, haga clic en Seleccionar carpeta.

6. Haga clic en Aceptar. De forma predeterminada, se creará un paquete vacío, denominado Package.dtsx, que se agregará al proyecto bajo Paquetes SSIS.

7. En la barra de herramientas del Explorador de soluciones, haga clic con el botón secundario en Package.dtsx, haga clic en Cambiar nombrey cambie el nombre del paquete predeterminado por Lesson 1.dtsx

Page 12: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Paso 2: agregar y configurar un administrador de conexiones de archivos planos

Para agregar un administrador de conexiones de

archivos planos al paquete SSIS

1. Haga clic con el botón secundario en cualquier punto del área Administradores de conexión y luego haga clic en Nueva conexión de archivos planos.

2. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos, en Nombre del administrador de conexiones, escriba Sample Flat File Source Data.

Page 13: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

3. Haga clic en Examinar.

4. En el cuadro de diálogo Abrir, busque el archivo SampleCurrencyData.txt en el equipo.

5. Desmarque "Nombres de columna" de la primera fila de datos

Page 14: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para establecer las propiedades dependientes de la

Configuración regional

1. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos, haga clic en General.

2. Establezca Configuración regional en Inglés (Estados Unidos) y Página de códigos en 1252.

Para cambiar el nombre de las columnas del

administrador de conexiones de archivos planos

1. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos, haga clic en Avanzadas.

2. En el panel de propiedades, realice los cambios siguientes:

Cambie la propiedad de nombre Columna 0 por AverageRate. Cambie la propiedad de nombre Columna 1 por CurrencyID. Cambie la propiedad de nombre Columna 2 por CurrencyDate. Cambie la propiedad de nombre Columna 3 por EndOfDayRate.

Para ver el artículo en inglés, active la casilla Inglés. También puede ver

el texto en inglés en una ventana emergente si pasa el puntero del mouse

por el texto.

Traducción

Inglés

Page 15: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Paso 2: agregar y configurar un administrador de

conexiones de archivos planos

SQL Server 2012

Otras versiones

En esta tarea, agregará un administrador de conexiones de archivos planos al paquete que acaba de crear. Un administrador de conexiones de archivos planos permite a un paquete extraer datos de un archivo plano. Mediante el administrador de conexiones de archivos planos puede especificar el nombre y la ubicación del archivo, la configuración regional y la página de códigos, y el formato del archivo, incluyendo los delimitadores de columna, que deben aplicarse cuando el paquete extrae datos del archivo plano. Además, puede especificar manualmente el tipo de datos para columnas individuales, o utilizar el cuadro de diálogo Sugerir tipos de columna para asignar automáticamente las columnas de datos extraídos a los tipos de datos de Integration Services. Debe crear un administrador de conexiones de archivos planos para cada formato de archivo que utilice. En este tutorial se extraen datos de varios archivos planos que tienen exactamente el mismo formato de datos, por lo que tendrá que agregar y configurar solamente un administrador de conexiones de archivos planos para el paquete. En este tutorial, configurará las propiedades siguientes en el administrador de conexiones de archivos planos:

Nombres de columna: El archivo plano no tiene nombres de columna, por lo que el administrador de conexiones de archivos planos crea nombres de columna predeterminados. Estos nombres predeterminados no son útiles para identificar qué representa cada columna. Para que estos nombres predeterminados sean más útiles, debe cambiar los nombres predeterminados por nombres que coincidan con la tabla de hechos en la que deben cargarse los datos del archivo plano.

Asignaciones de datos: Las asignaciones de tipo de datos que especifique para el administrador de conexiones de archivos planos se usarán en todos los componentes de origen de datos de archivo plano que hagan referencia al administrador de conexiones. Puede asignar los tipos de datos manualmente utilizando el administrador de conexiones de archivos planos o utilizar el cuadro de diálogo Sugerir tipos de columna. En este tutorial, verá las asignaciones sugeridas en el cuadro de diálogo Sugerir tipos de columna y luego realizará manualmente las asignaciones necesarias en el cuadro de diálogo Editor del administrador de conexiones de archivos planos.

El administrador de conexiones de archivos planos proporciona información de configuración regional acerca del archivo de datos. Si no tiene configurado el equipo para usar la opción de configuración regional Inglés (Estados Unidos), debe establecer propiedades adicionales en el cuadro de diálogo Editor del administrador de conexiones de archivos planos.

Page 16: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para agregar un administrador de conexiones de

archivos planos al paquete SSIS. 1. Haga clic con el botón secundario en cualquier punto del

área Administradores de conexión y luego haga clic en Nueva conexión de archivos planos.

2. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos, en Nombre del administrador de conexiones, escriba Sample Flat File Source Data.

3. Haga clic en Examinar. 4. En el cuadro de diálogo Abrir, busque el archivo SampleCurrencyData.txt

en el equipo. Los datos de ejemplo se incluyen con los paquetes de lecciones de SSIS. Para descargar los datos de ejemplo y los paquetes de lecciones, haga lo siguiente.

a. Navegue en los ejemplos del producto Integration Services b. Haga clic en la pestaña DOWNLOADS. c. Haga clic en el archivo

SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip.

5. Desmarque "Nombres de columna" de la primera fila de datos.

Para establecer las propiedades dependientes de la

configuración regional

1. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos, haga clic en General.

2. Establezca Configuración regional en Inglés (Estados Unidos) y Página de códigos en 1252.

Para cambiar el nombre de las columnas del

administrador de conexiones de archivos planos

1. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos, haga clic en Avanzadas.

2. En el panel de propiedades, realice los cambios siguientes:

Cambie la propiedad de nombre Columna 0 por AverageRate. Cambie la propiedad de nombre Columna 1 por CurrencyID. Cambie la propiedad de nombre Columna 2 por CurrencyDate. Cambie la propiedad de nombre Columna 3 por EndOfDayRate.

Page 17: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para volver a asignar tipos de datos de columna

1. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos, haga clic en Sugerir tipos. Integration Services sugiere automáticamente los tipos de datos más adecuados en función de las 200 primeras filas de datos. También puede cambiar estas opciones de sugerencia para obtener más o menos datos de ejemplo, especificar el tipo de datos predeterminado para datos enteros o booleanos, o agregar espacios como relleno para las columnas de cadena. De momento, no cambie las opciones del cuadro de diálogo Sugerir tipos de columna y haga clic en Aceptar para que Integration Services sugiera los tipos de datos para las columnas. Esto le devuelve al panel Avanzadas del cuadro de diálogo Editor del administrador de conexiones de archivos planos, donde puede ver los tipos de datos de columna sugeridos por Integration Services. (Si hace clic en Cancelar, no se realizan sugerencias en los metadatos de columna y se usa el tipo de datos predeterminado de cadena (DT_STR).)

Page 18: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Paso 3: agregar y configurar un administrador de conexiones OLE DB

Una vez que haya agregado un administrador de conexiones de archivos planos al origen de datos, la siguiente tarea consiste en agregar un administrador de conexiones OLE DB para conectarse al destino. Un administrador de conexiones OLE DB permite a un paquete extraer datos de un origen de datos compatible con OLE DB o cargar datos en éste. Mediante el administrador de conexiones OLE DB, puede especificar el servidor, el método de autenticación y la base de datos predeterminada de la conexión. En esta lección, creará un administrador de conexiones OLE DB que usa la Autenticación de Windows para conectarse a la instancia local deAdventureWorksDB2012. Otros componentes que creará más adelante en este tutorial, como la transformación Búsqueda y el destino de OLE DB, también harán referencia al administrador de conexiones OLE DB que cree.

Page 19: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para agregar y configurar un administrador de

conexiones de OLE DB para el paquete SSIS

1. Haga clic con el botón secundario en cualquier punto del área Administradores de conexión y luego haga clic en Nueva conexión de OLE DB.

2. En el cuadro de diálogo Configurar el administrador de conexiones OLE DB, haga clic en Nueva.

3. En Nombre de servidor, escriba localhost. Cuando se especifica localhost como el nombre del servidor, el administración de conexión se conecta a la instancia predeterminada de SQL Server en el equipo local. Para usar una instancia remota de SQL Server, sustituya localhost con el nombre del servidor al que desea conectarse.

4. En el grupo Conexión con el servidor, compruebe que la opción Usar autenticación de Windows esté seleccionada.

5. En el grupo Establecer conexión con una base de datos, en el cuadro Seleccione o escriba el nombre de la base de datos, escriba o seleccioneAdventureWorksDW2012.

Page 20: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

6. Haga clic en Probar conexión para comprobar si los parámetros de conexión que ha especificado son válidos.

7. Haga clic en Aceptar. 8. Haga clic en Aceptar. 9. En el panel Conexiones de datos del cuadro de diálogo Configurar el

administrador de conexiones OLE DB, compruebe que la opciónlocalhost.AdventureWorksDW2012 está seleccionada.

10. Haga clic en Aceptar.

Page 21: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Paso 4: agregar una tarea de flujo de datos al paquete

Una vez que ha creado los administradores de conexión para los datos de origen y de destino, la siguiente tarea consiste en agregar una tarea de flujo de datos al paquete. La tarea de flujo de datos encapsula el motor de flujo de datos que mueve datos entre orígenes y destinos, y proporciona la funcionalidad para transformar, limpiar y modificar los datos a medida que se mueven. En la tarea de flujo de datos se lleva a cabo la mayor parte del proceso de extracción, transformación y carga (ETL).

Para agregar una tarea de flujo de datos 1. Haga clic en la pestaña Flujo de control. 2. En el Cuadro de herramientas de SSIS, expanda Favoritos y arrastre

una Tarea Flujo de datos a la superficiede diseño de la pestaña Flujo de control.

3. En la superficie de diseño Flujo de control, haga clic con el botón secundario en la Tarea de flujo de datos que acaba de agregar, haga clic enCambiar nombre y cambie el nombre por Extract Sample Currency Data.

Es aconsejable proporcionar nombres únicos a todos los componentes que se agregan a una superficie de diseño. Para facilitar su uso y mantenimiento, los nombres deben describir la función que lleva a cabo cada componente. Seguir estas directrices de nomenclatura permite que los paquetes de Integration Services sean autodocumentados. Los paquetes también pueden documentarse mediante anotaciones.

Page 22: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

4. Haga clic con el botón secundario en la tarea Flujo de datos, haga clic en Propiedades y, en la ventana Propiedades, compruebe que la propiedad LocaleID esté establecida en Inglés (Estados Unidos).

Paso 5: agregar y configurar el origen de archivo plano

En esta tarea, agregará un origen de archivo plano al paquete y configurará dicho origen. Un origen de archivo plano es un componente de flujo de datos que utiliza metadatos definidos por un administrador de conexiones de archivo plano para especificar el formato y la estructura de los datos que deben extraerse del archivo plano mediante un proceso de transformación. El origen de archivo plano puede configurarse para extraer datos de un único archivo plano utilizando la definición de formato de archivo proporcionada por el administrador de conexiones de archivo plano. Para este tutorial, configurará el origen de archivo plano para utilizar el administrador de conexiones Sample Flat File Source Data creado con anterioridad.

Page 23: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para agregar un componente de origen de archivo plano 1. Abra el diseñador Flujo de datos haciendo doble clic en la tarea de flujo

de datos Extract Sample Currency Data o haciendo clic en la pestaña Flujo de datos.

2. En el cuadro de herramientas de SSIS, expanda Otros Orígenes y, a

continuación, arrastre Origen de archivo plano a la superficie de diseño de la pestaña Flujo de datos.

3. En la superficie de diseño Flujo de datos, haga clic con el botón secundario en el Origen de archivo plano que acaba de agregar, haga clic enCambiar nombre y cambie el nombre por Extract Sample Currency Data.

4. Haga doble clic en el origen del archivo plano para abrir el cuadro de diálogo Editor de origen de archivos planos.

5. En el cuadro Administrador de conexiones de archivos planos, seleccione Sample Flat File Source Data.

6. Haga clic en Columnas y compruebe que los nombres de las columnas son correctos.

Page 24: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

7. Haga clic en Aceptar. 8. Haga clic con el botón secundario en el origen del archivo plano y haga

clic en Propiedades. 9. En la ventana Propiedades, compruebe que la propiedad LocaleID esté

establecida en Inglés (Estados Unidos).

Paso 6: agregar y configurar transformaciones de búsqueda Tras configurar el origen de archivo plano para extraer datos del archivo de origen, la siguiente tarea consiste en definir las transformaciones de búsqueda necesarias para obtener los valores para las claves CurrencyKey y DateKey. Una transformación de búsqueda realiza una búsqueda combinando datos de la columna de entrada especificada en una columna de un conjunto de datos de referencia. El conjunto de datos de referencia puede ser una tabla o una vista existente, una tabla nueva o el resultado de una instrucción SQL. En este tutorial, la transformación de búsqueda utiliza un administrador de conexiones OLE DB para conectar con la base de datos que contiene los datos que constituyen el origen del conjunto de datos de referencia.

Page 25: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Nota

También puede configurar la transformación de Búsqueda para conectar con una caché que contiene el conjunto de datos de referencia.

Para este tutorial, agregará y configurará los dos componentes de la transformación de Búsqueda en el paquete:

Una transformación para realizar una búsqueda de valores de la columna CurrencyKey de la tabla de dimensiones DimCurrency basada en la coincidencia de valores de la columna CurrencyID del archivo plano.

Una transformación para realizar una búsqueda de valores de la columna DateKey de la tabla de dimensiones DimDate basada en la coincidencia de valores de la columna CurrencyDate del archivo plano.

En ambos casos, la transformación de búsqueda usará el administrador de conexiones OLE DB creado anteriormente.

Para agregar y configurar la transformación Lookup

Currency Key

1. En el cuadro de herramientas de SSIS, expanda Comunes y arrastre Búsqueda a la superficie de diseño de la pestaña Flujo de datos.Coloque Búsqueda directamente bajo el origen Extract Sample Currency Data.

2. Haga clic en el origen de archivo plano Extract Sample Currency Data y arrastre la flecha verde a la transformación de Búsqueda que acaba de agregar para conectar los dos componentes.

3. En la superficie de diseño Flujo de datos, haga clic en Búsqueda en la transformación Búsqueda y cambie el nombre por Lookup Currency Key.

Page 26: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

4. Haga doble clic en la transformación Lookup Currency Key para mostrar el Editor de transformación Búsqueda.

5. En la página General, realice las selecciones siguientes: a. Seleccione Caché completa. b. En el área Tipo de conexión, seleccione Administrador de

conexiones OLE DB.

6. En la página Conexión, realice las selecciones siguientes: a. En el cuadro de diálogo Administrador de conexiones OLE DB,

asegúrese de que se muestra localhost.AdventureWorksDW2012.

b. Seleccione Usar los resultados de una consulta SQL y, a continuación, escriba o copie la instrucción SQL siguiente:

select * from (select * from [dbo].[DimCurrency])

as refTable

where [refTable].[CurrencyAlternateKey] = 'ARS'

OR

[refTable].[CurrencyAlternateKey] = 'AUD'

OR

[refTable].[CurrencyAlternateKey] = 'BRL'

OR

[refTable].[CurrencyAlternateKey] = 'CAD'

OR

[refTable].[CurrencyAlternateKey] = 'CNY'

OR

[refTable].[CurrencyAlternateKey] = 'DEM'

OR

[refTable].[CurrencyAlternateKey] = 'EUR'

OR

[refTable].[CurrencyAlternateKey] = 'FRF'

OR

[refTable].[CurrencyAlternateKey] = 'GBP'

OR

[refTable].[CurrencyAlternateKey] = 'JPY'

OR

[refTable].[CurrencyAlternateKey] = 'MXN'

OR

[refTable].[CurrencyAlternateKey] = 'SAR'

OR

Page 27: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

7. En la página Columnas, realice las selecciones siguientes: a. En el panel Columnas de entrada disponibles,

arrastre CurrencyID al panel Columnas de búsqueda disponibles y suéltelo enCurrencyAlternateKey.

b. En la lista Columnas de búsqueda disponibles, active la casilla situada a la izquierda de CurrencyKey.

8. Haga clic en Aceptar para volver a la superficie de diseño Flujo de datos. 9. Haga clic con el botón secundario en la transformación Lookup Currency

Key y haga clic en Propiedades. 10. En la ventana Propiedades, compruebe que la propiedad LocaleID esté

establecida en Inglés (Estados Unidos) y la propiedadDefaultCodePage esté establecida en 1252.

Para agregar y configurar la transformación Lookup

Date Key

1. En el cuadro de herramientas de SSIS, arrastre Búsqueda a la superficie de diseño Flujo de datos. Coloque Búsqueda justo debajo de la transformación Lookup Currency Key.

2. Haga clic en la transformación Lookup Currency Key y arrastre la flecha verde hasta la transformación Búsqueda que acaba de agregar para conectar los dos componentes.

Page 28: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

3. En el cuadro de diálogo Selección de entrada y salida, en el cuadro de lista Salida, haga clic en Salida de entradas coincidentes de búsqueda y, a continuación, haga clic en Aceptar.

4. En la superficie de diseño Flujo de datos, haga clic en Búsqueda en la transformación Búsqueda recién agregada y cambie el nombre por Lookup Date Key.

5. Haga doble clic en la transformación Lookup Date Key. 6. En la página General, seleccione Caché parcial.

7. En la página Conexión, realice las selecciones siguientes: a. En el cuadro de diálogo Administrador de conexionesOLE DB,

asegúrese de que se muestra localhost.AdventureWorksDW2012.

b. En el cuadro Usar una tabla o vista, escriba o

seleccione [dbo].[DimDate].

Page 29: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

8. En la página Columnas, realice las selecciones siguientes: a. En el panel Columnas de entrada disponibles,

arrastre CurrencyDate al panel Columnas de búsqueda disponibles y suéltelo enFullDateAlternateKey.

b. En la lista Columnas de búsqueda disponibles, active la casilla

situada a la izquierda de DateKey.

Page 30: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

9. En la página Avanzadas, revise las opciones de almacenamiento en memoria caché.

10. Haga clic en Aceptar para volver a la superficie de diseño Flujo de datos. 11. Haga clic con el botón secundario en la transformación Lookup Date Key

y haga clic en Propiedades. 12. En la ventana Propiedades, compruebe que la propiedad LocaleID esté

establecida en Inglés (Estados Unidos) y la propiedadDefaultCodePage esté establecida en 1252.

Paso 7: agregar y configurar el destino de OLE DB Ahora, el paquete puede extraer datos de un origen de archivo plano y transformar dichos datos en un formato compatible con el destino. La tarea siguiente consiste realmente en cargar los datos transformados en el destino. Para cargar los datos, debe agregar un destino de OLE DB al flujo de datos. El destino de OLE DB puede utilizar una tabla de bases de datos, una vista o un comando SQL para cargar datos en distintas bases de datos compatibles con OLE DB. En este procedimiento, se agrega y configura un destino de OLE DB para utilizar el administrador de conexiones de OLE DB creado con anterioridad.

Para agregar y configurar un destino de OLE DB de

ejemplo:

1. En el Cuadro de herramientas de SSIS, expanda Otros destinos y arrastre Destino de OLE DB a la superficie de diseño de la pestaña Flujo de datos. Coloque el destino de OLE DB directamente debajo de la transformación Lookup Date Key.

2. Haga clic en la transformación Lookup Date Key y arrastre la flecha verde hasta el Destino de OLE DB que acaba de agregar para conectar los dos componentes entre sí.

3. En el cuadro de diálogo Selección de entrada y salida, en el cuadro de lista Salida, haga clic en Salida de entradas coincidentes de búsqueda y, a continuación, haga clic en Aceptar.

4. En la superficie de diseño Flujo de datos, haga clic en Destino de OLE

DB en el componente Destino de OLE DB recién agregado y cambie el nombre por Sample OLE DB Destination.

5. Haga doble clic en Sample OLE DB Destination. 6. En el cuadro de diálogo Editor de destino de OLE DB, asegúrese de

que localhost.AdventureWorksDW2012 está seleccionado en el cuadroAdministrador de conexiones OLE DB.

7. En el cuadro Nombre de la tabla o la vista, escriba o seleccione [dbo].[FactCurrencyRate].

Page 31: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

8. Haga clic en el botón Nuevo para crear una nueva tabla. Cambie el nombre de la tabla en el script a NewFactCurrencyRate. Haga clic enAceptar.

9. Al hacer clic en Aceptar, se cerrará el cuadro de diálogo y el Nombre de la tabla o la vista cambiará automáticamente aNewFactCurrencyRate.

10. Haga clic en Asignaciones. 11. Compruebe que las columnas de

entrada AverageRate, CurrencyKey, EndOfDayRate y DateKey están correctamente asignadas a las columnas de destino. Si hay columnas con el mismo nombre asignadas, la asignación es correcta.

Page 32: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

12. Haga clic en Aceptar. 13. Haga clic con el botón secundario en Sample OLE DB Destination y

haga clic en Propiedades. 14. En la ventana Propiedades, compruebe que la propiedad LocaleID está

establecida en Inglés (Estados Unidos) y la propiedadDefaultCodePage está establecida en 1252.

Paso 8: facilitar la comprensión del paquete de la lección 1 Ahora que ha terminado la configuración del paquete de la lección 1, es una buena idea ordenar el diseño del paquete. Si las formas de los diseños de los flujos de datos y de control tienen tamaños aleatorios o no están alineadas o agrupadas, la funcionalidad del paquete puede resultar más difícil de comprender. SQL Server Data Tools proporciona herramientas que permiten aplicar formato al diseño del paquete de forma rápida y sencilla. Las características de formato incluyen la capacidad de hacer que las formas tengan el mismo tamaño, de alinearlas y de manipular el espaciado horizontal y vertical entre las formas. Otra forma de mejorar la comprensión de la funcionalidad de un paquete es agregar anotaciones que la describan. En esta tarea usará las características de formato de SQL Server Data Tools para mejorar el diseño del flujo de datos y agregará una anotación al flujo de datos.

Para aplicar formato al diseño del flujo de datos 1. Si el paquete de la lección 1 no está abierto todavía, haga doble clic en

Lesson 1.dtsx en el Explorador de soluciones. 2. Haga clic en la pestaña Flujo de datos. 3. Coloque el cursor en la parte superior derecha de la transformación

Extract Sample Currency, haga clic y, a continuación, arrastre el cursor por todos los componentes de flujo de datos.

4. En el menú Formato, seleccione Igualar tamaño y, a continuación, haga clic en Ambos.

5. Con los objetos del flujo de datos seleccionados, en el menú Formato, seleccione Alinear y haga clic en Lados izquierdos.

Para agregar una anotación al flujo de datos 1. Haga clic con el botón secundario en cualquier parte de la superficie de

diseño del flujo de datos y haga clic en Agregar anotación. 2. Escriba o pegue el texto siguiente en el cuadro de anotación.

El flujo de datos extrae datos de un archivo, busca valores en la columna CurrencyKey de la tabla DimCurrency y la columna DateKey de la tabla DimDate, y escribe los datos en la tabla NewFactCurrencyRate. Para ajustar el texto en el cuadro de anotación, coloque el cursor donde desee empezar una nueva línea y presione la tecla Intro. Si no agrega texto al cuadro de anotación, desaparecerá al hacer clic fuera del cuadro.

Page 33: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Paso 9: probar el paquete del tutorial de la lección 1

En esta lección, ha llevado a cabo las tareas siguientes: Ha creado un proyecto de SSIS. Ha configurado los administradores de conexión que el paquete necesita

para conectarse a los datos de origen y de destino. Ha agregado un flujo de datos que toma los datos de un origen de archivo

plano, realiza las transformaciones de búsqueda necesarias en los datos y configura los datos para el destino.

El paquete ya se ha completado. Ha llegado el momento de probarlo.

Comprobar el diseño del paquete

Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la lección 1 contienen los objetos mostrados en los diagramas siguientes. Flujo de control

Flujo de datos

Para ejecutar el paquete de tutorial de la lección 1

1. En el menú Depurar, haga clic en Iniciar depuración. El paquete se ejecutará, dando lugar a la correcta inclusión de 1097 filas en la tabla de hechos FactCurrency de AdventureWorksDW2012.

Page 34: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

2. Una vez que se haya completado la ejecución del paquete, en el menú Depurar, haga clic en Detener depuración.

Page 35: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Lección 2: Agregar bucles

con SSIS

En esta lección, expandirá el paquete que ha creado en la lección 1 para beneficiarse de las nuevas características de bucles para extraer varios archivos planos en un único proceso de flujo de datos.

Page 36: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

En la Lección 1: Crear el proyecto y el paquete básico, creó un paquete que extraía datos de un solo origen de archivo plano, transformó los datos mediante transformaciones de búsqueda y, por último, cargó los datos en la tabla de hechos FactCurrency de la base de datos de ejemploAdventureWorksDW2012.

No obstante, no es muy habitual utilizar un solo archivo plano para el proceso de extracción, transformación y carga (ETL). Un proceso ETL típico utilizaría datos extraídos de varios orígenes de archivos planos. Para extraer datos de varios orígenes, se requiere un flujo de control iterativo. Una de las características más esperadas de Microsoft Integration Services es la capacidad de agregar fácilmente una iteración o un bucle a los paquetes. Integration Services proporciona dos tipos de contenedores para crear bucles en los paquetes: el contenedor de bucles Foreach y el contenedor de bucles For. El contenedor de bucles Foreach usa un enumerador para crear el bucle, mientras que el contenedor de bucles For suele emplear una expresión variable. En esta lección se utiliza el contenedor de bucles Foreach. El contenedor de bucles Foreach permite que un paquete repita el flujo de control para cada miembro de un enumerador determinado. Con el contenedor de bucles Foreach puede enumerar lo siguiente:

Filas de conjuntos de registros ADO Información del esquema de ADO .Net Estructuras de archivos y directorios Variables del sistema, de paquete y de usuario Objetos enumerables contenidos en una variable Elementos de una colección Nodos de una expresión del lenguaje de rutas XML (XPath) SQL Server Objetos de administración (SMO)

En esta lección, modificará el paquete ETL simple creado en la lección 1 para beneficiarse del contenedor de bucles Foreach. También establecerá variables de paquete definidas por el usuario para que el paquete del tutorial pueda iterarse en todos los archivos planos de la carpeta. Si no ha finalizado la lección anterior, también puede copiar el paquete de la lección 1 finalizada incluido en el tutorial. En esta lección, no modificará el flujo de datos, solamente modificará el flujo de control.

Page 37: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Tareas de la lección

Esta lección contiene las siguientes tareas:

Paso 1: copiar el paquete de la lección 1 En esta tarea, creará una copia del paquete que ha creado en la lección 1, denominado Lesson 1.dtsx. Si no ha completado la lección 1, puede agregar al proyecto el paquete completado de la lección 1 que se incluye con el tutorial y, después, copiar dicho paquete. Usará esta nueva copia en toda la lección 2.

Para crear el paquete de la lección 2:

1. Si SQL Server Data Tools no está abierto, haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Server 2012 y, después, haga clic en SQL Server Data Tools.

2. En el menú Archivo, haga clic en Abrir y en Proyecto o solución, haga clic en la carpeta SSIS Tutorial, haga clic en Abrir y, después, haga doble clic en SSIS Tutorial.sln.

3. En el Explorador de soluciones, haga clic con el botón derecho en Lesson 1.dtsx y luego haga clic en Copiar.

4. En el Explorador de soluciones, haga clic con el botón derecho en Paquetes SSIS y, después, haga clic en Pegar.

De forma predeterminada, el paquete copiado se denominará Lesson 2.dtsx.

5. En el Explorador de soluciones, haga doble clic en Lesson 2.dtsx para

abrir el paquete 6. Haga clic con el botón derecho en cualquier parte del fondo de la

superficie de diseño de Flujo de control y haga clic en Propiedades. 7. En la ventana Propiedades, actualice la propiedad Nombre a Lesson 2.

Page 38: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

8. Haga clic en el cuadro de la propiedad Id., haga clic en la flecha desplegable y luego haga clic en .

Para agregar el paquete de la lección 1 completada 1. Abra SQL Server Data Tools y el proyecto SSIS Tutorial. 2. En el Explorador de soluciones, haga clic con el botón derecho

en Paquetes SSIS y haga clic en Agregar paquete existente. 3. En el cuadro de diálogo Agregar copia de paquete existente,

en Ubicación del paquete, seleccione Sistema de archivos. 4. Haga clic en el botón Examinar (…), vaya a Lesson 1.dtsx en el equipo

y, después, haga clic en Abrir. Para descargar todos los paquetes de lecciones de este tutorial, haga lo siguiente.

a. Navegue a los ejemplos del producto Integration Services b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el archivo

SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip.

5. Copie y pegue el paquete de la lección 1 tal como se describe en los pasos 3 a 8 del procedimiento anterior.

Paso 2: agregar y configurar el contenedor de bucles Foreach

En esta tarea, agregará la capacidad de buscar en una carpeta de archivos planos y aplicará la misma transformación de flujo de datos utilizada en la lección 1 a cada uno de dichos archivos planos. Para ello, agregará y configurará un contenedor de bucles Foreach para el flujo de control. El contenedor de bucles Foreach que agregue debe poder conectarse a cada uno de los archivos planos de la carpeta. Puesto que todos los archivos de la carpeta tienen el mismo formato, el contenedor de bucles Foreach puede utilizar el mismo administrador de conexiones de archivos planos para conectarse a

Page 39: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

cada uno de estos archivos. El administrador de conexiones de archivos planos que el contenedor utilizará es el mismo administrador de conexiones de archivos planos que creó en la lección 1. Actualmente, el administrador de conexiones de archivos planos de la lección 1 se conecta a un único archivo plano específico. Para conectarse de forma iterativa a cada uno de los archivos planos de la carpeta, deberá configurar el contenedor de bucles Foreach y el administrador de conexiones de archivos planos de este modo:

Contenedor de bucles Foreach: Asignará el valor enumerado del contenedor a una variable de paquete definida por el usuario. El contenedor usará esta variable definida por el usuario para modificar de forma dinámica la propiedad ConnectionString del administrador de conexiones de archivos planos y conectar de forma iterativa cada uno de los archivos planos de la carpeta.

Administrador de conexiones de archivos planos: Modificará el administrador de conexiones creado en la lección 1 mediante una variable definida por el usuario para rellenar la propiedad ConnectionString del administrador de conexiones.

En los procedimientos de esta tarea se muestra cómo crear y modificar el contenedor de bucles Foreach para utilizar una variable de paquete definida por el usuario y agregar la tarea de flujo de datos al bucle. Aprenderá a modificar el administrador de conexiones de archivos planos para utilizar una variable definida por el usuario en la siguiente tarea. Una vez realizadas estas modificaciones en el paquete, cuando éste se ejecute, el contenedor de bucles Foreach se iterará en la colección de archivos de la carpeta Datos de ejemplo. Cada vez que se encuentre un archivo que coincida con los criterios, el contenedor de bucles Foreach rellenará la variable definida por el usuario con el nombre de archivo, asignará la variable definida por el usuario a la propiedad ConnectionString del administrador de conexiones de archivos planos Sample Currency Data y, después, ejecutará el flujo de datos en ese archivo. Por consiguiente, en cada iteración del bucle Foreach la tarea de flujo de datos utilizará un archivo plano distinto.

Nota

Puesto que MicrosoftIntegration Services separa el flujo de control del flujo de datos, los bucles que agregue al flujo de control no precisarán ninguna modificación en el flujo de datos. Por consiguiente, no es necesario modificar el flujo de datos creado en la lección 1.

Para agregar un contenedor de bucles Foreach

1. En SQL Server Data Tools, haga clic en la pestaña Flujo de control. 2. En el Cuadro de herramientas de SSIS, expanda Contenedores y

arrastre un Contenedor de bucles Foreach a la superficie de diseño de la pestaña Flujo de control.

Page 40: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

3. Haga clic con el botón derecho en el Contenedor de bucles Foreach que acaba de agregar y seleccione Editar.

4. En el cuadro de diálogo Editor de bucles Foreach, en la página General,

en Nombre, escriba Foreach File in Folder. Haga clic en Aceptar.

5. Haga clic con el botón derecho en el contenedor de bucles Foreach, haga clic en Propiedades y, en la ventana Propiedades, compruebe que la propiedad LocaleID esté establecida en Inglés (Estados Unidos).

Para configurar el enumerador para el contenedor de

bucles Foreach

1. Haga doble clic en Foreach File in Folder para volver a abrir el Editor de bucles Foreach.

2. Haga clic en Colección. 3. En la página Colección, seleccione Enumerador de archivos Foreach. 4. En el grupo Configuración de enumerador, haga clic en Examinar.

Page 41: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

5. En el cuadro de diálogo Buscar carpeta, busque la carpeta del equipo que contenga los archivos Currency_*.txt. Estos datos de ejemplo se incluyen con los paquetes de lecciones de SSIS. En el cuadro Archivos, escriba Currency_*.txt.

Page 42: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para asignar el enumerador a una variable definida por

el usuario

1. Haga clic en Asignaciones de variables. 2. En la página Asignaciones de variables, en la columna Variable, haga

clic en la celda vacía y seleccione . 3. En el cuadro de diálogo Agregar variable, en Nombre,

escriba varFileName.

Importante

Los nombres de variables distinguen entre mayúsculas y minúsculas.

4. Haga clic en Aceptar. 5. Haga clic de nuevo en Aceptar para salir del cuadro de diálogo Editor de

bucles Foreach.

Page 43: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para agregar la tarea de flujo de datos al bucle

Arrastre la tarea Flujo de datos Extract Sample Currency Data al contenedor de bucles Foreach que ahora se denomina Foreach File in Folder.

Paso 3: Modificar el Administrador de conexiones de archivos planos En esta tarea, modificará el administrador de conexiones de archivos planos que creó y configuró en la lección 1. Cuando se creó inicialmente, el administrador de conexiones de archivos planos se configuró para cargar de forma estática un único archivo. Para permitir que el Administrador de conexiones de archivos planos cargue archivos de forma iterativa, debe modificar la propiedad ConnectionString del administrador de conexiones de modo que acepte la variable User:varFileName, definida por el usuario, que contiene la ruta de acceso del archivo que se cargará en tiempo de ejecución. Al modificar el administrador de conexiones para que use la variable definida por el usuario User::varFileName para rellenar la propiedad ConnectionString del administrador de conexiones, este podrá conectarse a distintos archivos planos. En tiempo de ejecución, cada iteración del contenedor de bucles Foreach actualizará dinámicamente la variable User::varFileName. A su vez, actualizar esta variable da lugar a que el administrador de conexiones se conecte a un archivo plano distinto, y que la tarea de flujo de datos procese un conjunto de datos distinto.

Para configurar el Administrador de conexiones de

archivos planos de modo que utilice una variable para la

cadena de conexión 1. En el panel Administradores de conexión, haga clic con el botón

derecho en Sample Flat File Source Data y, después, seleccionePropiedades.

2. En la ventana Propiedades, para Expresiones, haga clic en la celda vacía y,después, haga clic en el botón de puntos suspensivos (…).

3. En el cuadro de diálogo Editor de expresiones de propiedad, en la columna Propiedad, escriba o seleccione ConnectionString.

4. En la columna Expresión, haga clic en el botón de puntos suspensivos (…) para abrir el cuadro de diálogo Generador de expresiones.

5. En el cuadro de diálogo Generador de expresiones, expanda el nodo Variables.

6. Arrastre la variable User::varFileName hasta el cuadro Expresión.

Page 44: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

7. Haga clic en Aceptar para cerrar el cuadro de diálogo Generador de

expresiones. 8. Haga clic en Aceptar de nuevo para cerrar el cuadro de diálogo Editor

de expresiones de propiedad.

Paso 4: Probar el paquete del tutorial de la lección 2

Con el contenedor de bucles Foreach y el administrador de conexiones de archivo plano que ha configurado, el paquete de la lección 2 puede iterarse a través de la colección de 14 archivos planos de la carpeta Datos de ejemplo. Cada vez que se encuentra un archivo que coincide con los criterios de nombre de archivo especificados, el contenedor de bucles Foreach rellena la variable definida por el usuario con el nombre de archivo. Esta variable, a su vez, actualiza la propiedad ConnectionString del administrador de conexiones de archivos planos, y se establece una conexión con el archivo plano nuevo. A continuación, el contenedor de bucles Foreach ejecuta la tarea de flujo de datos sin modificar en los datos del nuevo archivo plano antes de establecer conexión con el siguiente archivo de la carpeta. Utilice el procedimiento siguiente para probar la nueva función del bucle que ha agregado al paquete.

Page 45: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Nota

Si ejecutó el paquete desde la lección 1, necesitará eliminar los registros de dbo.FactCurrency en AdventureWorksDW2012 antes de ejecutar el paquete desde esta lección; de lo contrario, el paquete producirá errores que indican la infracción de una restricción de clave principal. Recibirá los mismos errores si ejecuta el paquete seleccionando Depurar/Iniciar la depuración (o presiona F5) porque se ejecutarán las lecciones 1 y 2. La lección 2 intentará insertar registros que ya se insertaron en la lección 1.

Comprobar el diseño del paquete

Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la lección 2 contienen los objetos mostrados en los diagramas siguientes. El flujo de datos debe ser idéntico al flujo de datos de la lección 1. Flujo de control

Flujo de datos

Page 46: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para probar el paquete del tutorial de la lección 2

1. En el Explorador de soluciones, haga clic con el botón derecho en Lesson 2.dtsx y, después, haga clic en Ejecutar paquete. El paquete se ejecutará. Puede comprobar el estado de cada bucle en la ventana Resultado o haciendo clic en la pestaña Progreso . Por ejemplo, puede ver que se han agregado 1.097 líneas a la tabla de destino del archivo Currency_VEB.txt.

2. Una vez que se haya completado la ejecución del paquete, en el menú Depurar , haga clic en Detener depuración.

Page 47: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Lección 3: Agregar Registro con SSIS

En esta lección, expandirá el paquete que creó en la lección 2 para

beneficiarse de las nuevas características de registro.

Page 48: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Microsoft Integration Services incluye características de registro que permiten supervisar y solucionar los problemas de ejecución de paquetes mediante el seguimiento de eventos de tarea y de contenedor. La características de registro son flexibles, pueden habilitarse en el nivel de paquete o en tareas y contendores individuales del paquete. Puede seleccionar qué eventos deben registrarse y crear varios registros para un único paquete. El registro lo proporciona un proveedor de registro. Cada proveedor de registro puede escribir información de registro en distintos formatos y tipos de destino. Integration Services proporciona los siguientes proveedores de registro:

Archivo de texto SQL Server Profiler Registro de eventos de Windows SQL Server Archivo XML

En esta lección, creará una copia del paquete que creó en la Lección 2: Agregar bucles con SSIS. Utilizando este nuevo paquete, luego agregará y configurará el registro para supervisar eventos específicos durante la ejecución del paquete. Si no ha finalizado cualquiera de las lecciones anteriores, también puede copiar el paquete de la lección 2 finalizada incluido en el tutorial.

Importante

Para este tutorial, se necesita la base de datos de ejemplo AdventureWorksDW2012 . Para obtener más información sobre cómo instalar e implementar AdventureWorksDW2012, consulte ejemplos de producto de Reporting Services en CodePlex.

Tareas de la lección

Esta lección contiene las siguientes tareas:

Paso 1: Copiar el paquete de la Lección 2

En esta tarea, creará una copia del paquete que ha creado en la lección 2, denominado Lesson 2.dtsx. También puede agregar al proyecto el paquete completado de la lección 2 que se incluye con el tutorial y, después, copiar dicho paquete. Usará esta nueva copia en toda la lección 3.

Para crear el paquete de la lección 3 1. Si SQL Server Data Tools no está abierto, haga clic en Inicio,

seleccione Todos los programas, Microsoft SQL Server 2012 y, después, haga clic en SQL Server Data Tools.

2. En el menú Archivo, haga clic en Abrir, haga clic en Proyecto o solución, seleccione SSIS Tutorial, haga clic en Abrir y, después, haga doble clic en SSIS Tutorial.sln.

3. En el Explorador de soluciones, haga clic con el botón derecho en Lesson 2.dtsx y, después, haga clic en Copiar.

Page 49: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

4. En el Explorador de soluciones, haga clic con el botón derecho en Paquetes SSIS y, después, haga clic en Pegar. De forma predeterminada, el paquete copiado se denomina Lesson 3.dtsx.

5. En el Explorador de soluciones, haga doble clic en Lesson 3.dtsx para abrir el paquete.

6. Haga clic con el botón derecho en cualquier parte del fondo de la pestaña Flujo de control y haga clic en Propiedades.

7. En la ventana Propiedades, actualice la propiedad Nombre a Lesson 3. 8. Haga clic en el cuadro para la propiedad ID y, en la lista, haga clic en .

Para agregar el paquete de la lección 2 completada 1. Abra SQL Server Data Tools (SSDT) y abra el proyecto SSIS Tutorial. 2. En el Explorador de soluciones, haga clic con el botón derecho

en Paquetes SSIS y haga clic en Agregar paquete existente. 3. En el cuadro de diálogo Agregar copia de paquete existente,

en Ubicación del paquete, seleccione Sistema de archivos. 4. Haga clic en el botón de búsqueda (…), vaya a Lesson 2.dtsx en el

equipo y, después, haga clic en Abrir. Para descargar todos los paquetes de lecciones de este tutorial, haga lo siguiente.

a. Navegue a los ejemplos del producto Integration Services b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el archivo

SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip.

5. Copie y pegue el paquete de la lección 3 tal como se describe en los pasos del 3 a 8 del procedimiento anterior.

Paso 2: Agregar y configurar el registro

En esta tarea, habilitará el registro del flujo de datos del paquete Lesson 3.dtsx. A continuación, configurará un proveedor de registro de archivos de texto para registrar los eventos PipelineExecutionPlan y PipelineExecuteTrees. El proveedor de registro de archivos de texto crea registros que pueden verse y transportarse con facilidad. La sencillez de estos archivos de registro hace que sean especialmente útiles durante la fase de prueba básica de un paquete. También puede ver las entradas del archivo de registro en la ventana Registrar eventos del Diseñador de SSIS .

Page 50: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para agregar el registro al paquete 1. En el menú SSIS , haga clic en Registro.

2. En el cuadro de diálogo Configurar registros de SSIS , asegúrese de

que en el panel Contenedores el objeto situado en la posición superior, que representa el paquete de la lección 3, está seleccionado.

3. En la pestaña Proveedores y registros , en el cuadro Tipo de proveedor , seleccione Proveedor de registro SSIS para archivos de textoy haga clic en Agregar. Integration Services agrega un nuevo proveedor de registro para archivos de texto al paquete con el nombre predeterminado Proveedor de registro SSIS para archivos de texto. Ahora puede configurar el nuevo proveedor de registro.

4. En la columna Nombre , escriba Lesson 3 Log File. 5. Si lo desea, modifique el campo Descripción. 6. En la columna Configuración haga clic en para especificar el destino en

el que se escribe la información de registro. En el cuadro de diálogo Editor del administrador de conexiones de archivos , en Tipo de uso, seleccione Crear archivoy, a continuación, haga clic en Examinar. De forma predeterminada, el cuadro de diálogo Seleccionar archivo abre la carpeta del proyecto, pero puede guardar la información de registro en cualquier ubicación.

7. En el cuadro de diálogo Seleccionar archivo , en el cuadro Nombre de archivo , escriba TutorialLog.logy haga clic en Abrir.

8. Haga clic en Aceptar para cerrar el cuadro de diálogo Editor del administrador de conexiones de archivos .

9. En el panel Contenedores , expanda todos los nodos de la jerarquía del contenedor de paquetes y, a continuación, desactive todas las casillas,

Page 51: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

incluida Extract Sample Currency Data . Ahora, active la casilla Extract Sample Currency Data para obtener solo los eventos de este nodo.

Importante

Si la casilla Extract Sample Currency Data está atenuada en lugar de activada, la tarea usa la configuración de registro del contenedor primario y no se pueden habilitar los eventos de registro específicos de la tarea.

10. En la columna Eventos de la pestaña Detalles , seleccione los eventos PipelineExecutionPlan y PipelineExecutionTrees .

11. Haga clic en Avanzadas para revisar los detalles que el proveedor de

registro escribirá en el registro para cada evento. De forma predeterminada, todas las categorías de información se seleccionan automáticamente para los eventos que se especifiquen.

12. Haga clic en Básicas para ocultar las categorías de información.

13. En la pestaña Proveedores y registros , en la columna Nombre , seleccione Lesson 3 Log File. Una vez que haya creado un proveedor de registro para el paquete, si lo desea, puede anular su selección para desactivar temporalmente el registro, sin tener que eliminar un proveedor de registro y crearlo de nuevo.

Page 52: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

14. Haga clic en Aceptar

Paso 3: Probar el paquete del tutorial de la lección 3

En esta tarea, ejecutará el paquete Lesson 3.dtsx. Al ejecutar el paquete, en la ventana Registrar eventos se mostrará una lista de las entradas del registro que se escriben en el archivo de registro. Una vez que haya finalizado la ejecución del paquete, comprobará el contenido del archivo de registro generado por el proveedor de registro.

Comprobar el diseño del paquete

Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la lección 3 contienen los objetos mostrados en los diagramas siguientes. El flujo de control debe ser idéntico al flujo de datos de la lección 2. El flujo de datos debe ser idéntico al flujo de datos de las lecciones 1 y 2.

Page 53: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Flujo de control

Flujo de datos

Page 54: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para ejecutar el paquete de tutorial de la lección 4 1. En el menú SSIS, haga clic en Registrar eventos.

2. En el menú Depurar , haga clic en Iniciar depuración. 3. Una vez que se haya completado la ejecución del paquete, en el

menú Depurar , haga clic en Detener depuración.

Para examinar el archivo de registro generado Mediante el Bloc de notas o cualquier otro editor de texto, abra el archivo

TutorialLog.log.

Aunque la semántica de la información generada para los

eventos PipelineExecutionPlan y PipelineExecutionTrees queda fuera del

ámbito de este tutorial, puede ver que la primera línea enumera los campos de

información especificados en la pestaña Detalles del cuadro de

diálogo Configurar registros de SSIS . Además, puede comprobar que los dos

eventos que ha seleccionado, PipelineExecutionPlan y PipelineExecutionTrees,

se han registrado para cada iteración del bucle Foreach.

Page 55: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Lección 4: Agregar redirección de flujo de errores con SSIS

En esta lección, expandirá el paquete que creó en la lección 3 para beneficiarse de las nuevas configuraciones de salida de error.

Page 56: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para administrar los errores que puedan aparecer en el proceso de transformación, Microsoft Integration Services ofrece la posibilidad de decidir para cada componente y cada columna cómo administrar los datos que no pueden transformarse. Puede optar por omitir un error en determinadas columnas, redireccionar toda la fila que ha generado el error o simplemente rechazar el componente debido a un error. De forma predeterminada, todos los componentes de Integration Services están configurados para ser rechazados si se produce un error. Rechazar el componente debido a un error, causa, a su vez, que el paquete también genere un error y que todos los procesos subsiguientes se detengan. En lugar de dejar que los errores detengan la ejecución de los paquetes, es recomendable configurar y administrar los posibles errores de procesamiento como si se produjeran en la transformación. Si bien puede optar por omitir los errores a fin de garantizar que el paquete se ejecute correctamente, generalmente es mejor redireccionar la fila que genera el error a otra ruta de proceso en la que los datos y el error puedan persistir, puedan examinarse y puedan procesarse de nuevo más adelante. En esta lección, creará una copia del paquete que ha desarrollado en la Lección 3: Agregar registro con SSIS. Trabajando con este paquete nuevo, creará una versión dañada de los archivos de datos de ejemplo. El archivo dañado forzará la aparición de un error de proceso al ejecutar el paquete. Para administrar los datos del error, agregará y configurará un destino de archivo plano que escribirá en un archivo las filas que no puedan encontrar un valor de búsqueda en la transformación Lookup Currency Key. Antes de escribir los datos del error en el archivo, incluirá un componente de script que utiliza un script para obtener descripciones de error. A continuación, volverá a configurar la transformación Lookup Currency Key para redireccionar los datos que no hayan podido procesarse en la transformación Script.

Importante

Para este tutorial, se necesita la base de datos de ejemplo AdventureWorksDW2012 . Para obtener más información sobre cómo instalar e implementar AdventureWorksDW2012, consulte ejemplos de producto de Reporting Services en CodePlex.

Tareas de la lección

Esta lección contiene las siguientes tareas:

Paso 1: copiar el paquete de la lección 3

En esta tarea, creará una copia del paquete que ha creado en la lección 3, denominado Lesson 3.dtsx. Por otra parte, si no ha completado la lección 3, puede agregar al proyecto el paquete completado de la lección 3 que se incluye con el tutorial y, a continuación, copiar dicho paquete para trabajar. Usará esta nueva copia en toda la lección 4.

Page 57: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para crear el paquete de la lección 4 1. Si SQL Server Data Tools no está abierto, haga clic en Inicio,

seleccione Todos los programas, Microsoft SQL Server y, después, haga clic enSQL Server Data Tools.

2. En el menú Archivo, haga clic en Abrir, haga clic en Proyecto o solución, seleccione SSIS Tutorial, haga clic en Abrir y, después, haga doble clic en SSIS Tutorial.sln.

3. En el Explorador de soluciones, haga clic con el botón derecho en Lesson 3.dtsx y, después, haga clic en Copiar.

4. En el Explorador de soluciones, haga clic con el botón derecho en Paquetes SSIS y, después, haga clic en Pegar. De forma predeterminada, el paquete copiado se denomina Lesson 4.dtsx.

5. En el Explorador de soluciones, haga doble clic en Lesson 4.dtsx para abrir el paquete.

6. Haga clic con el botón derecho en cualquier parte del fondo de la pestaña Flujo de control y haga clic en Propiedades.

7. En la ventana Propiedades, actualice la propiedad Name a Lesson 4. 8. Haga clic en el cuadro para la propiedad ID y, en la lista, haga clic en .

Para agregar el paquete de la lección 3 completada 1. Abra SQL Server Data Tools (SSDT) y abra el proyecto SSIS Tutorial. 2. En el Explorador de soluciones, haga clic con el botón derecho

en Paquetes SSIS y haga clic en Agregar paquete existente. 3. En el cuadro de diálogo Agregar copia de paquete existente,

en Ubicación del paquete, seleccione Sistema de archivos. 4. Haga clic en el botón para examinar (…), vaya a Lesson 3.dtsx en la

máquina y, después, haga clic en Abrir. Para descargar todos los paquetes de lecciones de este tutorial, haga lo siguiente.

a. Navegue a los ejemplos del producto Integration Services b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el archivo

SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip.

5. Copie y pegue el paquete de la lección 3 tal como se describe en los pasos del 3 a 8 del procedimiento anterior.

Paso 2: Crear un archivo dañado Para demostrar los errores de configuración y el control de los errores de transformación, debe crear un archivo plano de ejemplo que, cuando se procese, genere un error en un componente. En esta tarea, creará una copia de un archivo plano de ejemplo existente. Luego abrirá el archivo en el Bloc de notas y modificará la columnaCurrencyID para garantizar que no pueda producir una coincidencia durante la búsqueda de transformaciones. Cuando se procese el archivo nuevo, el error de búsqueda hará que se produzca un error en la transformación Lookup Currency Key y, por

Page 58: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

consiguiente, el resto del paquete generará un error. Una vez que haya creado el archivo de ejemplo dañado, ejecutará el paquete para ver su error.

Para crear un archivo plano de ejemplo dañado

1. En el Bloc de notas o en cualquier otro editor de texto, abra el archivo Currency_VEB.txt. Los datos de ejemplo se incluyen con los paquetes de lecciones de SSIS. Para descargar los datos de ejemplo y los paquetes de lecciones, haga lo siguiente.

a. Navegue a los ejemplos del producto Integration Services. b. Haga clic en la pestaña DOWNLOADS . c. Haga clic en el archivo

SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip.

2. Utilice la función de búsqueda y sustitución del editor de texto para buscar todas las instancias de VEB y sustituirlas por BAD.

3. Guarde el archivo modificado en la misma carpeta que los otros archivos de datos de ejemplo con el nombre Currency_BAD.txt.

Importante

Asegúrese de que Currency_BAD.txt se guarde en la misma carpeta que los demás archivos de datos de ejemplo.

4. Cierre el editor de texto.

Page 59: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

UUUPara comprobar que se producirá un error durante

la ejecución

1. En el menú Depurar , haga clic en Iniciar depuración.

En la tercera iteración del flujo de datos, la transformación Lookup Currency Key intenta procesar el archivo Currency_BAD.txt y la transformación generará un error. El error de la transformación hará que todo el paquete genere un error.

2. En el menú Depurar , haga clic en Detener depuración. 3. En la superficie de diseño, haga clic en la pestaña Resultados de la

ejecución . 4. Examine el registro y compruebe que se ha producido el siguiente error

no controlado: [Lookup Currency Key[27]] Error: Row yielded no match during lookup.

Page 60: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Paso 3: Agregar redirección de flujo de errores

Como se ha mostrado en la tarea anterior, la transformación Lookup Currency Key no puede generar una coincidencia cuando la transformación intenta procesar el archivo plano de ejemplo dañado que ha generado un error. Puesto que la transformación utiliza la configuración de salida de error predeterminada, cualquier error da lugar a un error de la transformación. Cuando se produce un error en la transformación, también se produce un error en el resto del paquete. En lugar de permitir que se produzca un error en la transformación, puede configurar el componente de modo que la fila que genera el error se redirija a otra ruta de procesamiento mediante la salida de error. El uso de una ruta de procesamiento independiente permite hacer varias cosas. Por ejemplo, puede intentar eliminar los datos y luego volver a procesar la fila con error. O bien, puede guardar la fila con error junto con otra información adicional sobre el error para comprobarla y procesarla de nuevo más adelante. En esta tarea configurará la transformación Lookup Currency Key para redirigir cualquier fila con errores a la salida de errores. En la rama de errores del flujo de datos, estas filas se escribirán en un archivo. De forma predeterminada, las dos columnas adicionales en una salida de errores de Integration Services , ErrorCode y ErrorColumn, solo contienen códigos numéricos que representan un número de error y el Id. de la columna en la que se produjo el error. Estos valores numéricos pueden tener un uso limitado sin la correspondiente descripción del error. Para mejorar la utilidad de la salida de errores, antes de que el paquete escriba las filas con errores en el archivo, se utilizará un componente de script para obtener acceso a la API de Integration Services y obtener una descripción del error.

Para configurar una salida de error 1. En el Cuadro de herramientas de SSIS, expanda Comunesy, a

continuación, arrastre Componente de script a la superficie de diseño de la pestaña Flujo de datos . Coloque Script a la derecha de la transformación Lookup Currency Key .

2. En el cuadro de diálogo Seleccionar el tipo de componente de script , haga clic en Transformacióny luego en Aceptar.

Page 61: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

3. Haga clic en la transformación Lookup Currency Key y luego arrastre la flecha roja hasta la transformación Script que acaba de agregar para conectar los dos componentes. La flecha roja representa la salida de errores de la transformación Lookup Currency Key . Utilizando la flecha roja para conectar la transformación con el componente de script, puede redirigir cualquier error de procesamiento a dicho componente, que, a continuación, lo procesará y enviará al destino.

Page 62: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

4. En el cuadro de diálogo Configurar la salida de errores , en la columna Error , seleccione Redirigir filay, a continuación, haga clic enAceptar.

5. En la superficie de diseño Flujo de datos, haga clic en Componente de script en el Componente de script recién agregado y cambie el nombre por Get Error Description.

6. Haga doble clic en la transformación Get Error Description. 7. En el cuadro de diálogo Editor de transformación Script , en la

página Columnas de entrada , seleccione la columna ErrorCode .

8. En la página Entradas y salidas , expanda Salida 0, haga clic

en Columnas de saliday, a continuación, en Agregar columna. 9. En la propiedad Nombre, escriba ErrorDescription y establezca la

propiedad DataType en Cadena Unicode [DT_WSTR]. 10. En la página Script, compruebe que la propiedad LocaleID esté

establecida en Inglés (Estados Unidos). 11. Haga clic en Editar script para abrir Microsoft Visual Studio Tools for

Applications (VSTA). En el método Input0_ProcessInputRow, escriba o pegue el código siguiente. [Visual Basic] Row.ErrorDescription = Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode) [Visual C#]

Page 63: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode); La subrutina completada será como el código siguiente. [Visual Basic] Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer) Row.ErrorDescription = Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode) End Sub [Visual C#] public override void Input0_ProcessInputRow(Input0Buffer Row) { Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode); }

12. En el menú Compilar , haga clic en Compilar solución para compilar el script y guardar los cambios y, a continuación, cierre VSTA.

13. Haga clic en Aceptar para cerrar el cuadro de diálogo Editor de transformación Script .

Page 64: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Paso 4: Agregar un destino de archivo plano La salida de errores de la transformación Lookup Currency Key redirige a la transformación Script cualquier fila de datos que haya generado un error durante la operación de búsqueda. Para mejorar la información acerca de los errores producidos, la transformación Script ejecuta un script que obtiene una descripción de los errores. En esta tarea guardará toda esta información acerca de las filas con errores en un archivo delimitado para su procesamiento posterior. Para guardar las filas con errores, es preciso agregar y configurar un administrador de conexiones de archivos planos para el archivo de texto que contendrá los datos de error y un destino de archivo plano. Al establecer propiedades en el administrador de conexiones de archivos planos que usa el destino de archivo plano, puede especificar la manera en que el destino de archivo plano establece el formato y escribe el archivo de texto. Para obtener más información, vea Flat File Connection Manager y Flat File Destination.

Para agregar y configurar un destino de archivo plano 1. Haga clic en la pestaña Flujo de datos. 2. En el Cuadro de herramientas de SSIS, expanda Otrosy

arrastre Destino de archivo plano a la superficie de diseño del flujo de datos. Coloque el Destino de archivo plano directamente debajo de la transformación Get Error Description .

3. Haga clic en la transformación Get Error Description y arrastre la flecha verde hasta el nuevo Destino de archivo plano.

4. En la superficie de diseño Flujo de datos , haga clic en Destino de archivo plano en la transformación Destino de archivo plano recién agregada y cambie el nombre a Failed Rows.

5. Haga clic con el botón derecho en la transformación Failed Rows, haga clic en Editar y, después, en el Editor de destino de archivos planos, haga clic en Nuevo.

6. En el cuadro de diálogo Formato de archivo plano , compruebe que esté seleccionado Delimitado y haga clic en Aceptar.

7.

Page 65: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

8. En el cuadro Nombre del administrador de conexionesdel Editor del administrador de conexiones de archivos planos , escriba Error Data.

9. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos , haga clic en Examinary busque la carpeta en la que se almacenará el archivo.

10. En el cuadro de diálogo Abrir , en Nombre de archivo, escriba ErrorOutput.txty haga clic en Abrir.

11. En el cuadro de diálogo Editor del administrador de conexiones de archivos planos, compruebe que el cuadro Configuración regionalcontiene Inglés (Estados Unidos) y la Página de códigos contiene 1252 (ANSI -Latin I).

12. En el panel de opciones, haga clic en Columnas.

Observe que, además de las columnas del archivo de datos de origen, existen tres columnas nuevas: ErrorCode, ErrorColumn y ErrorDescription. Estas columnas las generan la salida de errores de la transformación Lookup Currency Key y el script de la transformación Get Error Description y pueden utilizarse para solucionar el problema de la fila que genera el error.

Page 66: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

13. Haga clic en Aceptar. 14. En el Editor de destino de archivos planos, desactive la

casilla Sobrescribir los datos del archivo . Al desactivar esta casilla, se conservan los errores sobre múltiples ejecuciones del paquete.

15. En el Editor de destino de archivos planos, haga clic Asignaciones para comprobar que todas las columnas son correctas. Si lo desea, puede cambiar el nombre de las columnas en el destino.

16. Haga clic en Aceptar.

Paso 5: Probar el paquete del tutorial de la lección 4 En tiempo de ejecución, el archivo dañado, Currency_BAD.txt, no podrá generar una coincidencia en la transformación Lookup Currency Key. Puesto que la salida de errores de Lookup Currency Key se ha configurado para redirigir las filas con errores al nuevo destino de filas con errores, el componente no genera ningún error y el paquete se ejecuta correctamente. Todas las filas que generan un error se escriben en el archivo ErrorOutput.txt. En esta tarea, probará la configuración de la salida de error revisada ejecutando el paquete. Tras ejecutar correctamente el paquete, verá el contenido del archivo ErrorOutput.txt.

Nota

Page 67: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Si no desea acumular filas con errores en el archivo ErrorOutput.txt, debe eliminar manualmente el contenido del archivo entre ejecuciones de paquetes.

Comprobar el diseño del paquete

Antes de probar el paquete, debe comprobar que los flujos de datos y de control del paquete de la lección 4 contienen los objetos mostrados en los diagramas siguientes. El flujo de control debe ser idéntico al flujo de datos de las lecciones 2 a 4. Flujo de control

Flujo de datos

Para ejecutar el paquete de tutorial de la lección 4 1. En el menú Depurar, haga clic en Iniciar depuración. 2. Una vez que se haya completado la ejecución del paquete, en el

menú Depurar, haga clic en Detener depuración.

Page 68: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para comprobar el contenido del archivo ErrorOutput.txt En el Bloc de notas o en cualquier otro editor de texto, abra el archivo

ErrorOutput.txt. El orden predeterminado de columna es: AverageRate, CurrencyID, CurrencyDate, EndOfDateRate, ErrorCode, ErrorColumn, ErrorDescription. Observe que todas las filas del archivo contienen el valor BAD de CurrencyID sin coincidencia, el valor -1071607778 de ErrorCode, el valor 0 de ErrorColumn y el valor "La fila no produjo ninguna coincidencia durante la búsqueda" de ErrorDescription. El valor de ErrorColumn se establece en 0 porque el error no es específico de columna. Es la operación de búsqueda la que ha generado el error.

Page 69: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Lección 5: Agregar configuraciones de paquete para el modelo de implementación de paquetes

En esta lección, expandirá el paquete que creó en la lección 4 para beneficiarse de las nuevas opciones de configuración del paquete.

Page 70: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Tareas de la lección

Esta lección contiene las siguientes tareas:

Paso 1: Copiar el paquete de la lección 4

Paso 2: Habilitar y configurar las

configuraciones de paquetes

En esta tarea, convertirá el proyecto al modelo de implementación de paquetes y

habilitará las configuraciones de paquetes mediante el Asistente para

configuración de paquetes. Usará este asistente para generar un archivo de

configuración XML que contiene parámetros de configuración para la

propiedad Directory del contenedor de bucles Foreach. El valor de la propiedad

Directory se proporciona a través de una variable nueva de nivel de paquete que

puede actualizarse durante la ejecución. Además, rellenará una carpeta nueva de

datos de ejemplo que utilizará durante las pruebas.

Para crear una variable nueva de nivel de paquete asignada a la propiedad

Directory

1. Haga clic en el fondo de la pestaña Flujo de control del Diseñador SSIS.

De este modo se establece en el paquete el ámbito de la variable que se

va a crear.

2. En el menú SSIS, seleccione Variables.

3. En la ventana Variables, haga clic en el icono Agregar variable.

4. En el cuadro Nombre, escriba varFolderName.

Importante

Los nombres de variables distinguen entre mayúsculas y minúsculas.

5. Compruebe que en el cuadro Ámbito se muestra el nombre del paquete

(Lección 5).

6. Establezca el valor del cuadro Tipo de datos de la

variable varFolderName en String.

Page 71: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

7. Vuelva a la pestaña Flujo de control y haga doble clic en el

contenedor Foreach File in Folder.

8. En la página Colección del Editor de bucles Foreach, haga clic

en Expresiones y, después, haga clic en el botón de puntos

suspensivos (…).

9. En el Editor de expresiones de propiedad, haga clic en la

lista Propiedad y seleccione Directorio.

Page 72: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

10. En el cuadro Expresión, haga clic en el botón de puntos suspensivos (…).

11. En el Generador de expresiones, expanda la carpeta Variables y arrastre

la variable User:varFolderName al cuadro Expresión.

12. Haga clic en Aceptar para salir del Generador de expresiones.

13. Haga clic en Aceptar para salir del Editor de expresiones de propiedad.

14. Haga clic en Aceptar para salir del Editor de bucles Foreach.

Para habilitar las configuraciones de paquetes

1. En el menú Proyecto, haga clic en Convertir al modelo de

implementación de paquetes.

Page 73: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

2. Haga clic en Aceptar en el mensaje de advertencia y, una vez completada

la conversión, haga clic en Aceptar en el cuadro de diálogoConvertir al

modelo de implementación de paquetes.

Page 74: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

3. Haga clic en el fondo de la pestaña Flujo de control del Diseñador SSIS.

4. En el menú SSIS , haga clic en Configuraciones de paquetes.

5. En el cuadro de diálogo Organizador de configuraciones de paquetes,

seleccione Habilitar configuraciones de paquetes y, después, haga clic

en Agregar.

6. En la página de bienvenida del Asistente para la configuración de

paquetes, haga clic en Siguiente.

7. En la página Seleccionar tipo de configuración, compruebe que el Tipo

de configuración está establecido en Archivo de configuración XML.

8. En la página Seleccionar tipo de configuración, haga clic en Examinar.

9. De forma predeterminada, el cuadro de diálogo Seleccionar ubicación

del archivo de configuración se abrirá en la carpeta del proyecto.

10. En el cuadro de diálogo Seleccionar ubicación del archivo de

configuración, escriba SSISTutorial en Nombre de archivo y haga clic

enGuardar.

11. En la página Seleccionar tipo de configuración, haga clic en Siguiente.

12. En la página Seleccionar propiedades para la exportación, en el

panel Objetos, expanda Variables,

luego varFolderName y Propiedades y, después, seleccione Valor.

13. En la página Seleccionar propiedades para la exportación, haga clic

en Siguiente.

Page 75: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

14. En la página Finalización del asistente, escriba un nombre para la

configuración, por ejemplo, Configuración del directorio del Tutorial de

SSIS. Este es el nombre de configuración que se muestra en el cuadro de

diálogo Organizador de configuraciones de paquetes.

15. Haga clic en Finalizar.

16. Haga clic en Cerrar.

17. El asistente crea un archivo de configuración, denominado

SSISTutorial.dtsConfig, que contiene parámetros de configuración para

el valor de la variable que, a su vez, establece la propiedad Directory del

enumerador.

Nota

Generalmente, un archivo de configuración contiene información compleja

sobre las propiedades de un paquete, pero en este tutorial la única información

de configuración debería ser

<Configuration ConfiguredType="Property"

Path="\Package.Variables[User::varFolderName].Properties[Value]"

ValueType="String">

</ConfiguredValue>

</Configuration>.

Page 76: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Para crear y rellenar una carpeta nueva de datos de ejemplo

1. En el Explorador de Windows, en el nivel raíz de la unidad (por ejemplo,

C:\), cree una carpeta nueva denominada Nuevos datos de ejemplo.

2. Busque los archivos de ejemplo en su equipo y copie tres de los archivos

de la carpeta.

3. En la carpeta Nuevos datos de ejemplo, pegue los archivos copiados.

Paso 3: Modificar el valor de configuración de la propiedad Directory

Paso 4: Probar el paquete del tutorial de la lección 5

Page 77: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Lección 6: Uso de parámetros con el modelo de implementación de proyectos en SSIS

En esta lección, expandirá el paquete que creó en la lección 5 para beneficiarse de usar los nuevos parámetros con el modelo de implementación del proyecto.

Page 78: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

Con el Asistente para la conversión de proyectos de Integration Services,

convertirá el proyecto al modelo de implementación de proyectos y usará un

parámetro en lugar de un valor de configuración para establecer la propiedad

Directory. Esta lección abarca parcialmente los pasos que se seguiría para

convertir paquetes SSIS existentes al nuevo modelo de implementación de

proyectos.

Cuando ejecute el paquete de nuevo, el servicio Integration Services usará el

parámetro para rellenar el valor de la variable y la variable actualizará a su vez la

propiedad Directory. Como resultado, el paquete iterará por los archivos de la

nueva carpeta de datos especificada por el valor del parámetro, en lugar de iterar

por la carpeta que se estableció en el archivo de configuración del paquete.

Tareas de la lección

Esta lección contiene las siguientes tareas:

1. Paso 1: copiar el paquete de la lección 5

2. Paso 2: Convertir el proyecto al modelo de implementación de proyectos

Convertir el proyecto al modelo de implementación del proyectos

1. En el menú Proyecto, haga clic en Convertir al modelo de implementación

de proyectos.

Page 79: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

2. En la página de introducción del Asistente para conversión de proyectos

de Integration Services, revise los pasos y haga clic en Siguiente.

3. En la página Seleccionar paquetes, en la lista de paquetes, desactive todas

las casillas de verificación excepto Lesson 6.dtsx y haga clic en Siguiente.

Page 80: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

4. En la página Especificar propiedades del proyecto, haga clic en Siguiente.

5. En la página Actualizar tarea Ejecutar paquete, haga clic en Siguiente.

Page 81: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

6. En la página Seleccionar configuración, asegúrese de que el paquete

Lesson 6.dtsx está seleccionado en la lista de configuraciones y haga clic

en Siguiente.

7. En la página Crear parámetros, asegúrese de que el paquete Lesson 6.dtsx

está seleccionado y el ámbito está configurado en Paquete, en la lista de

propiedades de configuración, y haga clic en Siguiente.

8. En la página Configurar parámetros, compruebe que los valores de

Nombre y Valor son el mismo nombre y el mismo valor especificados en

Lesson 5 para la variable y el valor de configuración, y haga clic en

Siguiente.

Page 82: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

9. En la página Revisar, en el panel de resumen, tenga en cuenta que el

asistente ha usado la información del archivo de configuración para

establecer las propiedades que se van a convertir.

10. Haga clic en Convertir.

Cuando la conversión finaliza, se muestra un mensaje que advierte que los

cambios no se guardarán hasta que el proyecto se guarde en Visual Studio.

Haga clic en Aceptar del cuadro de diálogo de advertencia.

11. En el Asistente para conversión de proyectos de Integration Services, haga

clic en Cerrar.

12. En Herramientas de datos de SQL Server, haga clic en el menú Archivo y

haga clic en Guardar para guardar el paquete convertido.

Page 83: Tutorial completo ssis integration service KAREN ANDRADE EFRAIN SARANSIG

13. Haga clic en la ficha Parámetros y compruebe que el paquete contiene un

parámetro para VarFolderName, y que el valor es la misma ruta de acceso

especificada para la carpeta Nuevos datos de ejemplo del archivo de

configuración Lesson 5.

3. Paso 3: Probar el paquete de la lección 6

4. Paso 4: Implementar y probar el paquete de la lección 6