Está en la página 1de 83

UNIVERSIDAD TÉCNICA DEL NORTE

20-10-2016

CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES


INTELIGENCIA DE NEGOCIOS I

INTEGRANTES:
KAREN ANDRADE
EFRAÍN 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


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.
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.
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 Precio listado de los productos a lo largo del tiempo.


ory
Production.ProductModel Modelos del producto asociados a productos.

ProductModelProductDescriptio Referencia cruzada entre modelos de producto,


nCulture 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.
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.
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.
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.
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.
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
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.
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


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 Traducción
por el texto.
Inglés
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.
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.Sam
ple.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.
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).)
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.
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.
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.
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.
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.
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.
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.
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.
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'
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.
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].
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.
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].
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.
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.
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.
2. Una vez que se haya completado la ejecución del paquete, en el
menú Depurar, haga clic en Detener depuración.
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.
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.
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.
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.Sam
ple.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
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.Sam
ple.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 .
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,
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.
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.
Flujo de control

Flujo de datos
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.
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.
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.
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.Sam
ple.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
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.Sam
ple.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.
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.
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.
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.
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#]
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 .
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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>.
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
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.
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.
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.
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.
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.
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.
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

También podría gustarte