Você está na página 1de 35

https://msdn.microsoft.com/es-es/library/ms169917(d=printer,v=sql.105).

aspx

Tutorial: Crear un paquete ETL sencillo


Microsoft Integration Services es una plataforma para crear soluciones de integracin de datos de alto rendimiento,
incluidos los paquetes de extraccin, transformacin y carga (ETL) para el almacenamiento de datos. Integration
Services incluye herramientas grficas y asistentes para crear y depurar paquetes; tareas para realizar funciones de
flujo de trabajo tales como operaciones FTP, ejecucin de instrucciones SQL y envo de mensajes de correo
electrnico; orgenes y destinos de datos para extraer y cargar datos; transformaciones para limpiar, agregar,
mezclar y copiar datos; un servicio de administracin, el servicio Integration Services para administrar la ejecucin
y el almacenamiento de paquetes e interfaces de programacin de aplicaciones (API) para programar el modelo de
objetos de Integration Services.
En este tutorial, aprender a utilizar el Diseador de SSIS para crear un paquete de Microsoft SQL Server Integration
Services sencillo. El paquete que cree toma los datos de un archivo plano, formatea de nuevo lo datos y luego inserta
dichos datos en una tabla de hechos. En las lecciones siguientes, el paquete se expandir para mostrar la creacin
de bucles, configuraciones de paquete, registro y flujo de errores.

Leccin 1: Crear el proyecto y el paquete bsico


En esta leccin, crear un paquete ETL que extrae datos de un nico origen de archivo plano, transforma los datos
utilizando dos componentes de la transformacin de bsqueda y escribe dichos datos en la tabla de hechos
FactCurrencyRate en AdventureWorksDW. Como parte de esta leccin, aprender a crear paquetes nuevos,
agregar y configurar orgenes de datos y conexiones de destino, y trabajar con nuevos componentes de flujo de
control y flujo de datos.

Descripcin de los requisitos de paquete


Antes de crear un paquete, debe saber qu formato se utiliza en los datos de origen y de destino. Una vez que
conozca ambos formatos de datos, estar listo para definir las transformaciones necesarias para asignar los datos
de origen al destino.
Informacin sobre el origen
En este tutorial, los datos de origen son un conjunto de datos de moneda histricos que se encuentra en el archivo
plano SampleCurrencyData.txt. Los datos de origen tienen las cuatro columnas siguientes: tipo de cambio medio de
la moneda, una clave de moneda, una clave de fecha y el tipo de cambio de final del da.
A continuacin se muestra un ejemplo de datos de origen del archivo SampleCurrencyData.txt:

1.00010001

ARS

9/3/2001 0:00

0.99960016

1.00010001

ARS

9/4/2001 0:00

1.001001001

1.00020004

ARS

9/5/2001 0:00

0.99990001

1.00020004

ARS

9/6/2001 0:00

1.00040016

1.00050025

ARS

9/7/2001 0:00

0.99990001

1.00050025

ARS

9/8/2001 0:00

1.001001001

1.00050025

ARS

9/9/2001 0:00

1.00010001

ARS

9/10/2001 0:00

1.00040016

1.00020004

ARS

9/11/2001 0:00

0.99990001

1.00020004

ARS

9/12/2001 0:00

1.001101211

Cuando se trabaja con datos de origen de un archivo plano, es importante entender el modo en que el administrador
de conexin de archivos planos interpreta los datos del archivo plano. Si el origen de archivo plano es Unicode, el
administrador de conexin de archivos planos define todas las columnas como [DT_WSTR], con un ancho de columna
predeterminado de 50. Si el origen de archivo plano tiene la codificacin ANSI, las columnas se definen como
[DT_STR], con un ancho de columna de 50. Es probable que tenga que cambiar estos valores predeterminados para
que los tipos de columna de cadena sean ms adecuados para los datos. Para ello, deber saber cul es el tipo de
datos del destino en el que se escribirn los datos y luego seleccionar el tipo correcto dentro del administrador de
conexin de archivos planos.
Informacin sobre el destino
El destino ltimo de los datos de origen es la tabla de hechos FactCurrencyRate de AdventureWorksDW. La tabla
de hechos FactCurrencyRate tiene cuatro columnas y tiene relaciones con dos tablas de dimensiones, como se
muestra en la tabla siguiente.

Nombre de columna

Tipo de datos

Tabla de bsqueda

Columna de bsqueda

AverageRate

float

Ninguna

Ninguna

CurrencyKey

int (FK)

DimCurrency

CurrencyKey (PK)

TimeKey

int (FK)

DimTime

TimeKey (PK)

EndOfDayRate

float

Ninguna

Ninguna

Asignar datos de origen para que sean compatibles con el destino


El anlisis de formatos de datos de origen y destino indica que las bsquedas sern necesarias para los valores
CurrencyKey y TimeKey. Las transformaciones que realizarn estas bsquedas obtendrn los valores de
CurrencyKeyy TimeKey utilizando las claves alternativas de las tablas de dimensiones DimCurrency y DimTime.

Columna de archivo plano

Nombre de tabla

Nombre de columna

Tipo de datos

FactCurrencyRate

AverageRate

Float

DimCurrency

CurrencyAlternateKey

nchar (3)

DimTime

FullDateAlternateKey

Datetime

FactCurrencyRate

EndOfDayRate

Float

Tarea 1: Crear un nuevo proyecto de Integration Services


La primera tarea al crear un paquete en Integration Services es crear un proyecto de Integration Services. Este
proyecto incluye las plantillas para los objetos (orgenes de datos, vistas de orgenes de datos y paquetes) que se
utilizan en una solucin de transformacin de datos.
Los paquetes que crear en este tutorial de Integration Services interpretan los valores de los datos dependientes
de la configuracin regional. Si no tiene configurado el equipo para usar la opcin de configuracin regional Ingls
(Estados Unidos), debe establecer propiedades adicionales en el paquete. Los paquetes utilizados en las lecciones 2
a 5 se copian del paquete creado en la leccin 1, y no necesita actualizar las propiedades dependientes de la
configuracin regional en los paquetes copiados.
Para crear un nuevo proyecto de Integration Services

1.

En el menu Inicio, seleccione Todos los programas, seleccione Microsoft SQL Server y, haga clic en
SQL Server Business Intelligence Development Studio.

2.

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

3.

En el cuadro de dilogo Nuevo proyecto, 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 de verificacin Crear directorio para la solucin.

5.

Acepte la ubicacin predeterminada o haga clic en Examinar para desplazarse a la carpeta que desee
utilizar.

6.

En el cuadro de dilogo Ubicacin del proyecto, haga clic en la carpeta y en Abrir.

7.

Haga clic en Aceptar.


De forma predeterminada, se crear un paquete vaco, denominado Package.dtsx, que se agregar al
proyecto.

8.

En la barra de herramientas del Explorador de soluciones, haga clic con el botn secundario en
Package.dtsx, haga clic en Cambiar nombre y cambie el nombre del paquete predeterminado por Lesson
1.dtsx.

9.

Cuando se le solicite que cambie el nombre del objeto del paquete, haga clic en S.

Para establecer las propiedades dependientes de la configuracin regional


1. En el men Ver, haga clic en Ventana Propiedades.
2.

En la ventana Propiedades, establezca la propiedad LocaleID en Ingls (Estados Unidos).

Tarea 2: Agregar y configurar un administrador de conexiones de


archivos planos
En esta tarea, agregar un administrador de conexiones de archivos planos al paquete que acaba de crear. Un
administrador de conexin de archivos planos permite a un paquete extraer datos de un archivo plano. Mediante el
administrador de conexin de archivos planos puede especificar el nombre y la ubicacin del archivo, la configuracin
regional y la pgina de cdigos, y el formato del archivo, incluyendo los delimitadores de columna, que deben
aplicarse cuando el paquete extrae datos del archivo plano. Adems, puede especificar manualmente el tipo de datos
para columnas individuales, o utilizar el cuadro de dilogo Sugerir tipos de columna para asignar automticamente
las columnas de datos extrados a los tipos de datos de Integration Services.
Debe crear un administrador de conexin 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 conexin de archivos planos para el paquete.
En este tutorial, configurar las propiedades siguientes en el administrador de conexin de archivos planos:

Nombres de columna

El archivo plano no tiene nombres de columna, por lo que el administrador de

conexin 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

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

Asignacin de datos

Las asignaciones de tipo de datos que especifique para el administrador de conexin

de archivos planos se utilizarn en todos los componentes de origen de datos de archivo plano que hagan
referencia al administrador de conexin. Puede asignar los tipos de datos manualmente utilizando el
administrador de conexin de archivos planos o utilizar el cuadro de dilogo Sugerir tipos de columna.
En este tutorial, ver las asignaciones sugeridas en el cuadro de dilogo Sugerir tipos de columna y luego
realizar manualmente las asignaciones necesarias en el cuadro de dilogo Editor del administrador de
conexin de archivos planos.
El administrador de conexin de archivos planos proporciona informacin de configuracin regional acerca del archivo
de datos. Si no tiene configurado el equipo para usar la opcin de configuracin regional Ingls (Estados Unidos),
debe establecer propiedades adicionales en el cuadro de dilogo Editor del administrador de conexin de
archivos planos.
Para agregar un administrador de conexin de archivos planos
1. Haga clic con el botn secundario en cualquier punto del rea Administradores de conexin y luego haga
clic en Nueva conexin de archivos planos.
2.

En el cuadro de dilogo Editor del administrador de conexin de archivos planos, en Nombre del
administrador de conexin, escriba Sample Flat File Source Data.

3.

Haga clic en Examinar.

4.

En el

cuadro de dilogo Abrir, busque la carpeta de datos de ejemplo y abra el archivo

SampleCurrencyData.txt. De forma predeterminada, los datos de ejemplo del tutorial se instalan en la


carpeta c:\Archivos de programa\Microsoft SQL Server\100\Samples\Integration Services\Tutorial\Creating
a Simple ETL Package\Sample Data.
Para establecer las propiedades dependientes de la configuracin regional
1. En el cuadro de dilogo Editor del administrador de conexin de archivos planos, haga clic en
General.
2.

Establezca Configuracin regional en Ingls (Estados Unidos) y Pgina de cdigos en 1252.

Para cambiar el nombre de las columnas del administrador de conexin de archivos planos
1. En el cuadro de dilogo Editor del administrador de conexin de archivos planos, haga clic en
Avanzadas.
2.

En el panel 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.

Nota:
De forma predeterminada, las cuatro columnas estn inicialmente establecidas en el tipo de datos de cadena
[DT_STR] con OutputColumnWidth con el valor 50.
Para volver a asignar tipos de datos de columna

1.

En el cuadro de dilogo Editor del administrador de conexin de archivos planos, haga clic en Sugerir
tipos.
Integration Services sugiere automticamente los tipos de datos ms adecuados en funcin de las 100
primeras filas de datos. Tambin puede cambiar estas opciones de sugerencia para obtener ms 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 dilogo 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 dilogo Editor del administrador de conexin 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).)
En este tutorial, Integration Services sugiere los tipos de datos que se muestran en la segunda columna de
la siguiente tabla para los datos del archivo SampleCurrencyData.txt. No obstante, los tipos de datos que
se requieren para las columnas en el destino, que se definirn en una tarea posterior, se muestran en la
ltima columna de la tabla siguiente.

Columna de archivo plano

Tipo sugerido

Columna de destino

Tipo de destino

AverageRate

Float [DT_R4]

FactCurrencyRate.AverageRate

Float

CurrencyID

String [DT_STR]

DimCurrency,CurrencyAlternateKey

nchar(3)

CurrencyDate

Date [DT_DATE]

DimTime.FullDateAlternateKey

datetime

EndOfDayRate

Float [DT_R4]

FactCurrencyRate.EndOfDayRate

Float

Los tipos de datos sugeridos para las columnas CurrencyID y CurrencyDate no son compatibles con los
tipos

de

datos

de

los

campos

de

la

tabla

DimCurrency.CurrencyAlternateKey

de

destino.

Puesto

que

el

tipo

de

datos

de

es nchar (3), CurrencyID debe cambiarse de la cadena

[DT_STR] a la cadena [DT_WSTR]. Adicionalmente, el campo

DimTime.FullDateAlternateKey

se

define como tipo de datos DateTime; por consiguiente, CurrencyDate debe cambiarse del tipo de datos
[DT_Date] a la marca de tiempo de la base de datos [DT_DBTIMESTAMP].
2.

En el panel de propiedades, cambie el tipo de datos de la columna CurrencyID de cadena [DT_STR] a


cadena Unicode [DT_WSTR].

3.

En el panel de propiedades, cambie el tipo de datos de la columna CurrencyDate de fecha [DT_DATE] a


marca de tiempo de base de datos [DT_DBTIMESTAMP].

4.

Haga clic en Aceptar.

Tarea 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 conexin
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 conexin OLE DB, puede especificar el servidor, el mtodo de autenticacin y la base
de datos predeterminada de la conexin.
En esta leccin, crear un administrador de conexin OLE DB que utiliza la Autenticacin de Windows para conectarse
a la instancia local de AdventureWorksDB. Otros componentes que crear ms adelante en este tutorial, como la
transformacin Bsqueda y el destino de OLE DB, tambin harn referencia al administrador de conexin OLE DB
que cree.
Para agregar y configurar un administrador de conexin OLE DB
1. Haga clic con el botn secundario en cualquier punto del rea Administradores de conexin y luego haga
clic en Nueva conexin de OLE DB.
2.

En el cuadro de dilogo Configurar el administrador de conexin OLE DB, haga clic en Nuevo.

3.

En Nombre de servidor, escriba localhost.


Cuando se especifica localhost como el nombre del servidor, el administracin de conexin 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 Iniciar sesin en el servidor, compruebe que la opcin Utilizar autenticacin de Windows
est seleccionada.

5.

En el grupo Conectar con una base de datos, en el cuadro Seleccione o escriba un nombre de base
de datos, escriba o seleccione AdventureWorksDW.

6.

Haga clic en Probar conexin para comprobar si los parmetros de conexin que ha especificado son
vlidos.

7.

Haga clic en Aceptar.

8.

Haga clic en Aceptar.

9.

En el panel Conexiones de datos del cuadro de dilogo Configurar el administrador de conexin OLE
DB, compruebe que la opcin localhost.AdventureWorksDW est seleccionada.

10. Haga clic en Aceptar.

Tarea 4: Agregar una tarea de flujo de datos al paquete


Una vez que ha creado los administradores de conexin 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 orgenes 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
extraccin, transformacin y carga (ETL).

Nota:

SQL Server Integration Services separa el flujo de datos del flujo de control. Esta separacin del flujo de
datos del flujo de control es una de las diferencias ms importantes entre Integration Services y Microsoft
SQL Server 2000 Data Transformation Services.
Para agregar una tarea de flujo de datos
1. Haga clic en la ficha Flujo de control.
2.

En el Cuadro de herramientas, expanda Elementos de flujo de control y arrastre Tarea Flujo de


datos a la superficiede diseo de la ficha Flujo de control.

3.

En la superficie de diseo Flujo de control, haga clic con el botn secundario en la Tarea de flujo de
datos que acaba de agregar, haga clic en Cambiar 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
diseo. Para facilitar su uso y mantenimiento, los nombres deben describir la funcin que lleva a cabo cada
componente. Seguir estas directrices de nomenclatura permite que los paquetes de Integration Services
sean autodocumentados. Los paquetes tambin pueden documentarse mediante anotaciones. Para obtener
ms informacin sobre las anotaciones, vea Usar anotaciones en paquetes.

4.

Haga clic con el botn secundario en la tarea Flujo de datos, haga clic en Propiedades y, en la ventana
Propiedades, compruebe que la propiedad LocaleID est establecida en Ingls (Estados Unidos).

Step 5: Adding and Configuring the Flat File Source


In this task, you will add and configure a Flat File source to your package. A Flat File source is a data flow
component that uses metadata defined by a Flat File connection manager to specify the format and
structure of the data to be extracted from the flat file by a transform process. The Flat File source can be
configured to extract data from a single flat file by using the file format definition provided by the Flat File
connection manager.
For this tutorial, you will configure the Flat File source to use the Sample Flat File Source Data connection
manager that you previously created.
To add a Flat File Source component
1. Open the Data Flow designer, either by double-clicking the Extract Sample Currency Data data
flow task or by clicking the Data Flow tab.
2. In the Toolbox, expand Data Flow Sources, and then drag a Flat File Source onto the design
surface of the Data Flow tab.
3. On the Data Flow design surface, right-click the newly added Flat File Source, click Rename, and
change the name to Extract Sample Currency Data.
4. Double-click the Flat File source to open the Flat File Source Editor dialog box.
5. In the Flat file connection manager box, type or select Sample Flat File Source Data.

6. Click Columns and verify that the names of the columns are correct.
7. Click OK.
8. Right-click the Flat File source and click Properties.
9. In the Properties window, verify that the LocaleID property is set to English (United States).

Tarea 6: Agregar y configurar transformaciones de bsqueda


Tras configurar el origen de archivo plano para extraer datos del archivo de origen, la siguiente tarea consiste en
definir las transformaciones de bsqueda necesarias para obtener valores para las claves CurrencyKey y TimeKey.
Una transformacin Bsqueda realiza una bsqueda 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 instruccin SQL. En este tutorial, la transformacin Bsqueda utiliza
un administrador de conexin OLE DB para conectar con la base de datos que contiene los datos que constituyen el
origen del conjunto de datos de referencia.

Nota:
Tambin puede configurar la transformacin de Bsqueda para conectar con una cach que contiene el
conjunto de datos de referencia. Para obtener ms informacin, vea Transformacin Bsqueda.
Para este tutorial, agregar y configurar los dos componentes de la transformacin Bsqueda en el paquete:

Una transformacin para realizar una bsqueda 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 transformacin para realizar una bsqueda de valores de la columna TimeKey de la tabla de
dimensiones DimTime basada en la coincidencia de valores de la columna CurrencyDate del archivo plano.

En ambos casos, las transformaciones de bsqueda utilizarn el administrador de conexin OLE DB creado
anteriormente.
Para agregar y configurar la transformacin Lookup Currency Key
1. En el cuadro de herramientas, expanda Transformaciones de flujo de datos y arrastre Bsqueda a
la superficiede diseo de la ficha Flujo de datos. Coloque Bsqueda 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
transformacin Bsqueda que acaba de agregar para conectar los dos componentes.

3.

En la superficie de diseo Flujo de datos, haga clic en Bsqueda en la transformacin Bsqueda y cambie
el nombre por Lookup Currency Key.

4.

Haga doble clic en la transformacin Lookup Currency Key.

5.

En la pgina General, realice las selecciones siguientes:

6.

a.

Seleccione Cach completa.

b.

En el rea Tipo de conexin, seleccione Administrador de conexiones OLE DB.

En la pgina Conexin, realice las selecciones siguientes:

a.

En el cuadro de dilogo Administrador de conexiones OLE DB, asegrese de que se muestra


localhost.AdventureWorksDW.

b.

Seleccione Usar los resultados de una consulta SQL y, a continuacin, escriba o copie la
instruccin

SQL

siguiente:

Copiar cdigo

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
[refTable].[CurrencyAlternateKey] = 'USD'
OR
[refTable].[CurrencyAlternateKey] = 'VEB'
7.

En la pgina Columnas, realice las selecciones siguientes:


a.

En el panel Columnas de entrada disponibles, arrastre CurrencyID al panel Columnas de


bsqueda disponibles y sultelo en CurrencyAlternateKey.

b.

En la lista Columnas de bsqueda disponibles, active la casilla de verificacin a la derecha de


CurrencyKey.

8.

Haga clic en Aceptar para volver a la superficie de diseo Flujo de datos.

9.

Haga clic con el botn secundario en la transformacin Lookup Currency Key y haga clic en Propiedades.

10. En la ventana Propiedades, compruebe que la propiedad LocaleID est establecida en Ingls (Estados
Unidos) y la propiedad DefaultCodePage est establecida en 1252.
Para agregar y configurar la transformacin Lookup Date Key
1. En el cuadro de herramientas, arrastre Bsqueda a la superficie de diseo Flujo de datos. Coloque
Bsqueda directamente bajo la transformacin Lookup Currency Key.
2.

Haga clic en la transformacin Lookup Currency Key y arrastre la flecha verde hasta la transformacin
Bsqueda que acaba de agregar para conectar los dos componentes.

3.

En el cuadro de dilogo Seleccin de entrada y salida, en el cuadro de lista Salida, haga clic en Salida
de entradas coincidentes de bsqueda y, a continuacin, haga clic en Aceptar.

4.

En la superficie de diseo Flujo de datos, haga clic en Bsqueda en la transformacin Bsqueda recin
agregada y cambie el nombre por Lookup DateKey.

5.

Haga doble clic en la transformacin Lookup Date Key.

6.

En la pgina General, seleccione Cach parcial.

7.

En la pgina Conexin, realice las selecciones siguientes:


a.

En el cuadro de dilogo Administrador de conexiones OLE DB, asegrese de que se muestra


localhost.AdventureWorksDW.

b.
8.

En el cuadro Utilizar una tabla o vista, escriba o seleccione [dbo].[DimTime].

En la pgina Columnas, realice las selecciones siguientes:


a.

En el panel Columnas de entrada disponibles, arrastre CurrencyDate al panel Columnas de


bsqueda disponibles y sultelo en FullDateAlternateKey.

b.

En la lista Columnas de bsqueda disponibles, active la casilla de verificacin a la derecha de


TimeKey.

9.

En la pgina Avanzadas, revise las opciones de almacenamiento en memoria cach.

10. Haga clic en Aceptar para volver a la superficie de diseo Flujo de datos.
11. Haga clic con el botn secundario en la transformacin Lookup Date Key y haga clic en Propiedades.
12. En la ventana Propiedades, compruebe que la propiedad LocaleID est establecida en Ingls (Estados
Unidos) y la propiedad DefaultCodePage est establecida en 1252.

Tarea 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 conexin de
OLE DB creado con anterioridad.
Para agregar y configurar un destino de OLE DB de ejemplo
1. En el cuadro de herramientas, expanda Destinos de flujo de datos y arrastre Destino de OLE DB a
la superficie de diseo de la ficha Flujo de datos. Coloque el destino de OLE DB directamente debajo de la
transformacin Lookup DateKey.
2.

Haga clic en la transformacin 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 dilogo Seleccin de entrada y salida, en el cuadro de lista Salida, haga clic en Salida
de entradas coincidentes de bsqueda y, a continuacin, haga clic en Aceptar.

4.

En la superficie de diseo Flujo de datos, haga clic en Destino de OLE DB en el componente Destino de
OLE DB recin agregado y cambie el nombre por Sample OLE DB Destination.

5.

Haga doble clic en Sample OLE DB Destination.

6.

En el cuadro de dilogo Editor de destino de OLE DB, asegrese de que localhost.AdventureWorksDW


est seleccionado en el cuadro Administrador de conexin OLE DB.

7.

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

8.

Haga clic en Asignaciones.

9.

Compruebe que las columnas de entrada AverageRate, CurrencyKey, EndOfDayRate y TimeKey estn
correctamente asignadas a las columnas de destino. Si hay columnas con el mismo nombre asignadas, la
asignacin es correcta.

10. Haga clic en Aceptar.


11. Haga clic con el botn secundario en Sample OLE DB Destination y haga clic en Propiedades.
12. En la ventana Propiedades, compruebe que la propiedad LocaleID est establecida en Ingls (Estados
Unidos) y la propiedad DefaultCodePage est establecida en 1252

Tarea 8: Facilitar la comprensin del paquete de la leccin 1


Ahora que ha terminado la configuracin del paquete de la leccin 1, es una buena idea ordenar el diseo del paquete.
Si las formas de los diseos de los flujos de datos y de control tienen tamaos aleatorios o no estn alineadas o
agrupadas, la funcionalidad del paquete puede resultar ms difcil de comprender.
Business Intelligence Development Studio proporciona herramientas que permiten aplicar formato al diseo del
paquete de forma rpida y sencilla. Las caractersticas de formato incluyen la capacidad de hacer que las formas
tengan el mismo tamao, de alinearlas y de manipular el espaciado horizontal y vertical entre las formas.
Otra forma de mejorar la comprensin de la funcionalidad de un paquete es agregar anotaciones que la describan.
En esta tarea utilizar las caractersticas de formato de Business Intelligence Development Studio para mejorar el
diseo del flujo de datos y agregar una anotacin al flujo de datos.

Para aplicar formato al diseo del flujo de datos


1. Si el paquete de la leccin 1 no est abierto todava, haga doble clic en Lesson 1.dtsx en el Explorador de
soluciones.
2.

Haga clic en la ficha Flujo de datos.

3.

Coloque el cursor en la parte superior derecha de la transformacin Extract Sample Currency, haga clic y,
a continuacin, arrastre el cursor por todos los componentes del flujo de datos.
Ahora todos los componentes del flujo de datos estn seleccionados. La forma seleccionada primero (la
forma cuyos indicadores seleccionados son blancos) dicta el tamao y la ubicacin que se utilizar al aplicar
formato al diseo.

4.

En el men Formato, seleccione Igualar tamao y, a continuacin, 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 anotacin al flujo de datos


1. Haga clic con el botn secundario en cualquier parte de la superficie de diseo del flujo de datos y haga clic
en Agregar anotacin.
2.

Escriba o pegue el texto siguiente en el cuadro de anotacin.


El flujo de datos extrae datos de un archivo, busca valores en la columna CurrencyKey de la tabla
DimCurrency y la columna TimeKey de la tabla DimTime, y escribe los datos en la tabla
FactCurrencyRate.
Para ajustar el texto siguiente en el cuadro de anotacin, coloque el cursor donde desee empezar la nueva
lnea y presione las teclas Ctrl y Entrar.
Si no agrega texto al cuadro de anotacin, desaparecer al hacer clic fuera del cuadro.

Tarea 9: Probar el paquete del tutorial de la leccin 1


En esta leccin, ha llevado a cabo las tareas siguientes:

Ha creado un proyecto de SSIS.

Ha configurado los administradores de conexin 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 bsqueda 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 diseo del paquete
Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la leccin 1 contienen los objetos
mostrados en los diagramas siguientes.
Flujo de control

Flujo de datos

Para ejecutar el paquete de tutorial de la leccin 1


1. En el men Depurar, haga clic en Iniciar depuracin.
El paquete se ejecutar, dando lugar a la inclusin satisfactoria de 1.097 filas en la tabla de hechos
FactCurrencyRate de AdventureWorksDW.
2.

Una vez que se haya completado la ejecucin del paquete, en el men Depurar, haga clic en Detener
depuracin.

Leccin 2: Agregar bucles


En la Leccin 1: Crear el proyecto y el paquete bsico, cre un paquete que extraa datos de un solo origen de archivo
plano, transform los datos mediante transformaciones de bsqueda y, por ltimo, carg los datos en la tabla de
hechos FactCurrencyRate de la base de datos de ejemplo AdventureWorksDW.
No obstante, no es muy habitual utilizar un solo archivo plano para el proceso de extraccin, transformacin y carga
(ETL). Un proceso ETL tpico utilizara datos extrados de varios orgenes de archivos planos. Para extraer datos de
varios orgenes, se requiere un flujo de control iterativo. Una de las caractersticas ms esperadas de Microsoft
Integration Services es la capacidad de agregar fcilmente una iteracin 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 utiliza un enumerador para crear el
bucle, mientras que el bucle For generalmente utiliza una expresin variable. En esta leccin 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 e informacin de esquema

Estructuras de archivos y directorios

Variables del sistema, de paquete y de usuario

Objetos de administracin de SQL Server (SMO)

En esta leccin, modificar el paquete ETL simple creado en la leccin 1 para beneficiarse del contenedor de bucles
Foreach. Tambin 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 leccin anterior, tambin puede copiar el
paquete de la leccin 1 finalizada incluido en el tutorial.
En esta leccin, no modificar el flujo de datos, slo modificar el flujo de control.

Tarea 1: Copiar el paquete de la leccin 1


En esta tarea, crear una copia del paquete que ha creado en la leccin 1, denominado Lesson 1.dtsx. Si no ha
completado la leccin 1, puede agregar al proyecto el paquete completado de la leccin 1 que se incluye con el
tutorial y, a continuacin, copiar dicho paquete. Utilizar esta nueva copia en toda la leccin 2.
Para crear el paquete de la leccin 2
1. Si Business Intelligence Development Studio no est an abierto, haga clic en Inicio, seleccione Todos los
programas, Microsoft SQL Server y, a continuacin, haga clic en Business Intelligence Development
Studio.
2.

En el men Archivo, haga clic en Abrir y en Proyecto o solucin, haga clic en la carpeta SSIS Tutorial
y, a continuacin, haga clic en Abrir y, despus, haga doble clic en SSIS Tutorial.sln.

3.

En el Explorador de soluciones, haga clic con el botn secundario en Lesson 1.dtsx y, a continuacin, haga
clic en Copiar.

4.

En el Explorador de soluciones, haga clic con el botn secundario en Paquetes SSIS y, a continuacin,
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 botn secundario en cualquier parte del fondo de la superficie de diseo Flujo de control
y haga clic en Propiedades.

7.

En la ventana Propiedades, actualice la propiedad Name a Leccin 2.

8.

Haga clic en el cuadro de la propiedad Id. y, a continuacin, en la lista, haga clic en <Generar nuevo Id.>.

Para agregar el paquete de la leccin 1 completada


1. Abra Business Intelligence Development Studio y abra el proyecto SSIS Tutorial.
2.

En el Explorador de soluciones, haga clic con el botn secundario en Paquetes SSIS y haga clic en Agregar
paquete existente.

3.

En el cuadro de dilogo Agregar copia de paquete existente, en Ubicacin del paquete, seleccione
Sistema de archivos.

4.

Haga clic en el botn para examinar (), desplcese a C:\Archivos de programa\Microsoft SQL
Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Completed Packages,
seleccione Lesson 1.dtsx y haga clic en Abrir.

5.

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

Tarea 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 transformacin
de flujo de datos utilizada en la leccin 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 conexin de archivos planos para conectarse a cada uno de estos archivos. El
administrador de conexin de archivos planos que el contenedor utilizar es el mismo administrador de conexin de
archivos planos que cre en la leccin 1.
Actualmente, el administrador de conexin de archivos planos de la leccin 1 se conecta a un nico archivo plano
especfico. 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 conexin 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 utilizar esta variable definida por el usuario para modificar de forma
dinmica la propiedad ConnectionString del administrador de conexin de archivos planos y conectar de
forma iterativa cada uno de los archivos planos de la carpeta.

Administrador de conexin de archivos planos

Modificar el administrador de conexin creado en la

leccin 1 utilizando una variable definida por el usuario para llenar la propiedad ConnectionString del
administrador de conexin.
En los procedimientos de esta tarea se muestra cmo 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 conexin 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 coleccin 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 llenar 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 conexin de
archivos planos Sample Currency Data y, a continuacin, ejecutar el flujo de datos en dicho archivo. Por
consiguiente, en cada iteracin del bucle Foreach la tarea de flujo de datos utilizar un archivo plano distinto.

Nota:
Puesto que Microsoft Integration Services separa el flujo de control del flujo de datos, los bucles que agregue
al flujo de control no precisarn ninguna modificacin en el flujo de datos. Por consiguiente, no es necesario
modificar el flujo de datos creado en la leccin 1.
Para agregar un contenedor de bucles Foreach
1. En Business Intelligence Development Studio, haga clic en la ficha Flujo de control.
2.

En el cuadro de herramientas, expanda Elementos de flujo de control y arrastre un Contenedor de


bucles Foreach a la superficie de diseo de la ficha Flujo de control.

3.

Haga clic con el botn secundario en el Contenedor de bucles Foreach que acaba de agregar y seleccione
Editar.

4.

En el cuadro de dilogo Editor de bucles Foreach, en la pgina General, en Nombre, escriba Foreach
File in Folder. Haga clic en Aceptar.

5.

Haga clic con el botn secundario en el contenedor de bucles Foreach, haga clic en Propiedades y, en la
ventana Propiedades, compruebe que la propiedad LocaleID est establecida en Ingls (Estados
Unidos).

Para configurar el enumerador para el contenedor de bucles Foreach


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

Haga clic en Coleccin.

3.

En la pgina Coleccin, seleccione Enumerador de archivos Foreach.

4.

En el grupo Configuracin de enumerador, haga clic en Examinar.

5.

En el cuadro de dilogo Buscar carpeta, busque la carpeta de datos de ejemplo que contiene los datos de
ejemplo del tutorial.
De forma predeterminada, los datos de ejemplo del tutorial se instalan en la carpeta C:\Program
Files\Microsoft

SQL

Server\100\Samples\Integration

Services\Tutorial\Creating

Simple

ETL

Package\Sample Data.
6.

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 pgina Asignaciones, en la columna Variable, haga clic en la celda vaca y seleccione <Nueva
variable>.

3.

En el cuadro de dilogo Agregar variable, en Nombre, escriba varFileName.

Importante:
Los nombres de variables distinguen entre maysculas y minsculas.
4.

Haga clic en Aceptar.

5.

Haga clic de nuevo en Aceptar para salir del cuadro de dilogo Editor de bucles Foreach.

Para agregar la tarea de flujo de datos al bucle


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

Tarea 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 leccin 1.
Cuando se cre inicialmente, el administrador de conexiones de archivos planos se configur para cargar de forma
esttica un nico archivo. Para permitir que el Administrador de conexin de archivos planos cargue archivos de
forma iterativa, debe modificar la propiedad ConnectionString del administrador de conexin 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 ejecucin.
Al modificar el administrador de conexin para que utilice la variable definida por el usuario User::varFileName
para rellenar la propiedad ConnectionString del administrador de conexin, ste podr conectarse a distintos
archivos planos. En tiempo de ejecucin, cada iteracin del contenedor de bucles Foreach actualizar dinmicamente
la variable User::varFileName. A su vez, actualizar esta variable da lugar a que el administrador de conexin
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 conexin de archivos planos de modo que utilice una variable para la cadena de
conexin
1. En el panel Administradores de conexin, haga clic con el botn secundario en Sample Flat File Source
Data y, a continuacin, seleccione Propiedades.
2.

En la ventana Propiedades, para Expresiones, haga clic en la celda vaca y, a continuacin, haga clic en el
botn de puntos suspensivos ().

3.

En el cuadro de dilogo Editor de expresiones de propiedad, en la columna Propiedad, escriba o


seleccione ConnectionString.

4.

En la columna Expresin, haga clic en el botn de puntos suspensivos () para abrir el cuadro de dilogo
Generador de expresiones.

5.

En el cuadro de dilogo Generador de expresiones, expanda el nodo Variables.

6.

Arrastre la variable User::varFileName hasta el cuadro Expresin.

7.

Haga clic en Aceptar para cerrar el cuadro de dilogo Generador de expresiones.

8.

Haga clic en Aceptar para cerrar el cuadro de dilogo Editor de expresiones de propiedad.

Tarea 4: Probar el paquete del tutorial de la leccin 2


Con el contenedor de bucles Foreach y el administrador de conexiones de archivo plano que ha configurado, el
paquete de la leccin 2 puede iterarse a travs de la coleccin 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 conexin de archivos planos, y se establece una
conexin con el archivo plano nuevo. A continuacin, el contenedor de bucles Foreach ejecuta la tarea de flujo de
datos sin modificar en los datos del nuevo archivo plano antes de establecer conexin con el siguiente archivo de la
carpeta.
Utilice el procedimiento siguiente para probar la nueva funcin del bucle que ha agregado al paquete.
Comprobar el diseo del paquete
Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la leccin 2 contienen los objetos
mostrados en los diagramas siguientes. El flujo de datos debe ser idntico al flujo de datos de la leccin 1.
Flujo de control

Flujo de datos

Para probar el paquete de tutorial de la leccin 2


1. En el men Depurar, haga clic en Iniciar depuracin.
El paquete se ejecutar. Puede comprobar el estado de cada bucle en la ventana Resultado o haciendo clic
en la ficha Progreso. Por ejemplo, puede ver que se han agregado 1.097 lneas a la tabla de destino del
archivo Currency_VEB.txt.
2.

Una vez que se haya completado la ejecucin del paquete, en el men Depurar, haga clic en Detener
depuracin

Leccin 3: Agregar configuraciones de paquetes


Las configuraciones de paquetes permiten definir propiedades y variables de tiempo de ejecucin desde el exterior
del entorno de desarrollo. Las configuraciones permiten desarrollar paquetes que son flexibles y fciles de
implementar y distribuir. Microsoft Integration Services ofrece los siguientes tipos de configuracin:

Archivo de configuracin XML

Variable de entorno

Entrada del Registro

Variable de paquete primario

Tabla de SQL Server

En esta leccin, modificar el paquete simple de Integration Services que ha creado en la Leccin 2: Agregar bucles
para aprovechar las configuraciones de paquetes. Tambin puede copiar el paquete de la leccin 2 completada que
se incluye con el tutorial. Mediante el Asistente para la configuracin de paquetes, crear un archivo de configuracin
XML que actualiza la propiedad Directory del contenedor de bucles Foreach utilizando una variable de nivel de
paquete asignada a la propiedad Directory. Una vez que haya creado el archivo de configuracin, modificar el valor
de la variable desde el exterior del entorno de desarrollo y har que la propiedad haga referencia a una nueva carpeta
de datos de ejemplo. Cuando vuelva a ejecutar el paquete, el archivo de configuracin rellenar el valor de la variable
y sta, a su vez, actualizar la propiedad Directory . Como consecuencia de ello, el paquete se iterar en los archivos
de la nueva carpeta de datos, en lugar de iterarse en los archivos de la carpeta original del paquete codificada de
forma rgida.

Tarea 1: Copiar el paquete de la leccin 2


En esta tarea, crear una copia del paquete que ha creado en la leccin 2, denominado Lesson 2.dtsx. Tambin
puede agregar al proyecto el paquete completado de la leccin 2 que se incluye con el tutorial y, a continuacin,
copiar dicho paquete. Utilizar esta nueva copia en toda la leccin 3.
Para crear el paquete de la leccin 2
1. Si Business Intelligence Development Studio no est an abierto, haga clic en Inicio, seleccione Todos los
programas seleccione, Microsoft SQL Server y a continuacin, haga clic en Business Intelligence
Development Studio.
2.

En el men Archivo, haga clic en Abrir, haga clic en Proyecto o solucin, seleccione SSIS Tutorial, haga
clic en Abrir y, despus, haga doble clic en SSIS Tutorial.sln.

3.

En el Explorador de soluciones, haga clic con el botn secundario en Lesson 2.dtsx y, a continuacin, haga
clic en Copiar.

4.

En el Explorador de soluciones, haga clic con el botn secundario en Paquetes SSIS y, a continuacin,
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 botn secundario en cualquier parte del fondo de la ficha Flujo de control y luego haga
clic en Propiedades.

7.

En la ventana Propiedades, actualice la propiedad Name a Leccin 3.

8.

Haga clic en el cuadro de la propiedad Id. y, a continuacin, en la lista, haga clic en <Generar nuevo Id.>.

Para agregar el paquete de la leccin 2 completada


1. Abra Business Intelligence Development Studio y abra el proyecto SSIS Tutorial.
2.

En el Explorador de soluciones, haga clic con el botn secundario en Paquetes SSIS y haga clic en Agregar
paquete existente.

3.

En el cuadro de dilogo Agregar copia de paquete existente, en Ubicacin del paquete, seleccione
Sistema de archivos.

4.

Haga clic en el botn para examinar (), desplcese a C:\Archivos de programa\Microsoft SQL
Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Completed Packages,
seleccione Lesson 2.dtsx y haga clic en Abrir.

5.

Copie y pegue el paquete de la leccin 2 tal como se describe en los pasos 3 a 8 del procedimiento anterior.

Tarea 2: Habilitar y configurar las configuraciones de paquetes


En esta tarea habilitar configuraciones de paquetes mediante el Asistente para la configuracin de paquetes.
Utilizar este asistente para generar un archivo de configuracin XML que contiene parmetros de configuracin para
la propiedad Directory del contenedor de bucles Foreach. El valor de la propiedad Directory se proporciona a travs
de una variable nueva de nivel de paquete que puede actualizarse durante la ejecucin. Adems, 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 ficha Flujo de control del Diseador 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 maysculas y minsculas.
5.

Compruebe que en el cuadro mbito se muestra el nombre del paquete (Leccin 3).

6.

Establezca el valor del cuadro Tipo de datos de la variable

7.

Regrese a la ficha Flujo de control y haga doble clic en el contenedor Foreach File in Folder.

8.

En la pgina Coleccin del Editor de bucles Foreach, haga clic en Expresiones y, a continuacin, haga

varFolderName en String.

clic en el botn de puntos suspensivos ().


9.

En el Editor de expresiones de propiedad, haga clic en la lista Propiedad y seleccione Directorio.

10. En el cuadro Expresin, haga clic en el botn de puntos suspensivos ().


11. En

el

Generador

de

expresiones,

expanda

la

carpeta

Variables

User:varFolderName al cuadro Expresin.


12. Haga clic en Aceptar para salir del Generador de expresiones.
13. Haga clic en Aceptar para salir del Editor de expresiones de propiedad.
Para habilitar las configuraciones de paquetes
1. Haga clic en el fondo de la ficha Flujo de control del Diseador SSIS.
2.

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

arrastre

la

variable

3.

En el cuadro de dilogo Organizador de configuraciones de paquetes, seleccione Habilitar


configuraciones de paquetes y, a continuacin, haga clic en Agregar.

4.

En la pgina de bienvenida del Asistente para la configuracin de paquetes, haga clic en Siguiente.

5.

En la pgina Seleccionar tipo de configuracin, compruebe que el Tipo de configuracin est


establecido en Archivo de configuracin XML.

6.

En la pgina Seleccionar tipo de configuracin, haga clic en Examinar.

7.

De forma predeterminada, el cuadro de dilogo Seleccionar ubicacin del archivo de configuracin se


abrir en la carpeta del proyecto.

8.

En el cuadro de dilogo Seleccionar ubicacin del archivo de configuracin, escriba SSISTutorial en


Nombre de archivo y haga clic en Guardar.

9.

En la pgina Seleccionar tipo de configuracin, haga clic en Siguiente.

10. En la pgina Seleccionar propiedades para la exportacin, en el panel Objetos, expanda Variables,
luego varFolderName y Propiedades y, a continuacin, seleccione Valor.
11. En la pgina Seleccionar propiedades para la exportacin, haga clic en Siguiente.
12. En la pgina Finalizando el asistente, escriba un nombre para la configuracin, como por ejemplo, SSIS
Tutorial Directory configuration. ste es el nombre de configuracin que se muestra en el cuadro de
dilogo Organizador de configuraciones de paquetes.
13. Haga clic en Finalizar.
14. Haga clic en Cerrar.
15. El asistente crea un archivo de configuracin, denominado SSISTutorial.dtsConfig, que contiene parmetros
de configuracin para el valor (value) de la variable que, a su vez, establece la propiedad Directory del
enumerador.

Nota:
Generalmente, un archivo de configuracin contiene informacin compleja sobre las propiedades de un
paquete,
pero,
en
este
tutorial,
la
nica
informacin
que
debera
de
contener
es
[User::varFolderName].Properties[Value].
Para crear y rellenar una carpeta nueva de datos de ejemplo
1. En el Explorador de Windows, en el nivel raz de la unidad (por ejemplo, C:\), cree una carpeta nueva
denominada New Sample Data.
2.

Abra

la

carpeta

C:\Archivos

de

programa\Microsoft

SQL

Server\100\Samples\Integration

Services\Tutorial\Creating a Simple ETL Package\Sample Data y copie tres de los archivos de ejemplo de la
carpeta.
3.

En la carpeta New Sample Data, pegue los archivos copiados.

Tarea 3: Modificar el valor de configuracin de la propiedad


Directory
En esta tarea modificar el parmetro de configuracin, almacenado en el archivo SSISTutorial.dtsConfig, para la
propiedad Value de la variable de nivel de paquete User::varFolderName. Esta variable actualiza la propiedad
Directory del contenedor de bucles Foreach. El valor modificado har referencia a la carpeta New Sample Data
que ha creado en la tarea anterior. Una vez que haya modificado el parmetro de configuracin y que haya ejecutado
el paquete, la variable actualizar la propiedad Directory, utilizando el valor llenado desde el archivo de
configuracin, en lugar del valor del directorio configurado originalmente en el paquete.
Para modificar el parmetro de configuracin de la propiedad Directory
1. En el Bloc de notas o en cualquier editor de texto, busque y abra el archivo de configuracin
SSISTutorial.dtsConfig que ha creado utilizando el Asistente para la configuracin de paquetes en la tarea
anterior.
2.

Cambie el valor del elemento ConfiguredValue para que coincida con la ruta de acceso de la carpeta New
Sample Data que ha creado en la tarea anterior. No especifique la ruta de acceso entre comillas. Si la
carpeta New Sample Data est en el nivel de raz de su unidad de disco (por ejemplo, C: \), el XML
actualizado debera ser similar al siguiente ejemplo:

<?xml
version="1.0"?><DTSConfiguration><DTSConfigurationHeading><DTSConfigura
tionFileInfo

GeneratedBy="Domain\UserName"

GeneratedFromPackageName="Lesson

3"

GeneratedFromPackageID="{99396D72-

2F8D-4A37-8362-96346AD53334}"

GeneratedDate="11/12/2005

PM"/></DTSConfigurationHeading><Configuration

12:46:13

ConfiguredType="Property"

Path="\Package.Variables[User::varFolderName].Properties[Value]"
ValueType="String"><ConfiguredValue>C:\New

Sample

Data</ConfiguredValue></Configuration></DTSConfiguration>
Por

supuesto,

la

informacin

de

encabezado,

GeneratedBy,

GeneratedFromPackageID

GeneratedDate ser diferente en su archivo. El elemento que debe observar es Configuration. La


propiedad Value de la variable
3.

User::varFolderName ahora contiene C:\New Sample Data.

Guarde el cambio y cierre el editor de texto.

Tarea 4: Probar el paquete del tutorial de la leccin 3


Durante la ejecucin, el paquete obtendr el valor de la propiedad Directory de una variable actualizada en tiempo
de ejecucin, en lugar de utilizar el nombre de directorio original especificado al crear el paquete. El valor de la
variable lo rellena el archivo SSISTutorial.dtsConfig.
Para comprobar que, durante la ejecucin, el paquete actualiza la propiedad Directory con el nuevo valor,
simplemente debe ejecutar el paquete. Puesto que en el directorio slo se copiaron tres archivos de datos de ejemplo,
el flujo de datos slo se ejecutar tres veces, en lugar de repetirse a travs de los 14 archivos de la carpeta original.
Comprobar el diseo del paquete
Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la leccin 3 contienen los objetos
mostrados en los diagramas siguientes. El flujo de control debe ser idntico al flujo de datos de la leccin 2. El flujo
de datos debe ser idntico al flujo de datos de las lecciones 1 y 2.
Flujo de control

Flujo de datos

Para probar el paquete de tutorial de la leccin 3


1. En el men Depurar, haga clic en Iniciar depuracin.
2.

Una vez que haya finalizado la ejecucin del paquete, en el men Depurar, haga clic en Detener
depuracin.

Leccin 4: Agregar registro


Microsoft Integration Services incluye caractersticas de registro que permiten supervisar y solucionar los problemas
de ejecucin de paquetes mediante el seguimiento de eventos de tarea y de contenedor. La caractersticas 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 informacin 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 sucesos de Windows

SQL Server

Archivo XML

En esta leccin, crear una copia del paquete que ha creado en la Leccin 3: Agregar configuraciones de paquetes.
Utilizando este nuevo paquete, luego agregar y configurar el registro para supervisar eventos especficos durante
la ejecucin del paquete. Si no ha finalizado cualquiera de las lecciones anteriores, tambin puede copiar el paquete
de la leccin 3 finalizada incluido en el tutorial.

Tarea 1: Copiar el paquete de la leccin 3


En esta tarea, crear una copia del paquete que ha creado en la leccin 3, denominado Lesson 3.dtsx. Tambin
puede agregar al proyecto el paquete completado de la leccin 3 que se incluye con el tutorial y, a continuacin,
copiar dicho paquete. Utilizar esta nueva copia en toda la leccin 4.
Puesto que, junto con el paquete propiamente dicho, se copia informacin de configuracin del paquete, tambin
debe modificar la configuracin del paquete para invertir uno de los cambios realizados en la leccin precedente y
hacer que el bucle Foreach haga referencia de nuevo a la carpeta Sample Data original.
Para crear el paquete de la leccin 4
1. Si Business Intelligence Development Studio no est an abierto, haga clic en Inicio, seleccione Todos los
programas, Microsoft SQL Server y a continuacin, haga clic en Business Intelligence Development
Studio.
2.

En el men Archivo, haga clic en Abrir, haga clic en Proyecto o solucin, seleccione SSIS Tutorial, haga
clic en Abrir y, despus, haga doble clic en SSIS Tutorial.sln.

3.

En el Explorador de soluciones, haga clic con el botn secundario en Lesson 3.dtsx y, a continuacin, haga
clic en Copiar.

4.

En el Explorador de soluciones, haga clic con el botn secundario en Paquetes SSIS y, a continuacin,
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 botn secundario en cualquier parte del fondo de la ficha Flujo de control y haga clic en
Propiedades.

7.

En la ventana Propiedades, actualice la propiedad Name a Leccin 4.

8.

Haga clic en el cuadro de la propiedad Id. y, a continuacin, en la lista, haga clic en <Generar nuevo Id.>.

Para agregar el paquete de la leccin 3 completada


1. Abra Business Intelligence Development Studio y abra el proyecto SSIS Tutorial.
2.

En el Explorador de soluciones, haga clic con el botn secundario en Paquetes SSIS y haga clic en Agregar
paquete existente.

3.

En el cuadro de dilogo Agregar copia de paquete existente, en Ubicacin del paquete, seleccione
Sistema de archivos.

4.

Haga clic en el botn para examinar (), desplcese a C:\Archivos de programa\Microsoft SQL
Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Completed Packages,
seleccione Lesson 3.dtsx y haga clic en Abrir.

5.

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

Para modificar la configuracin del paquete

1.

En el Bloc de notas o en cualquier editor de texto, busque y abra el archivo de configuracin


SSISTutorial.dtsConfig que cre en la leccin anterior mediante el Asistente para la configuracin de
paquetes. Si empieza a partir de esta leccin y no ha creado ningn archivo de configuracin, puede utilizar
el

archivo

de

configuracin

que

se

encuentra

en

la

carpeta

C:\Archivos

de

programa\SQL

Server\100\Samples\Integration Services/Tutorial/Creating a Simple ETL Package\Completed Packages.


2.

Cambie el valor del elemento ConfiguredValue por la carpeta de datos de ejemplo original. De forma
predeterminada, los datos de ejemplo se instalan en la carpeta c:\Archivos de programa\Microsoft SQL
Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Sample Data. Si empieza
a partir de esta leccin y no ha modificado este archivo anteriormente, no necesita realizar ningn cambio.

Nota:
No es necesario que especifique la ruta de acceso entre comillas en el archivo de configuracin.
3.

Guarde el cambio y cierre el editor de texto.

Tarea 2: Agregar y configurar el registro


En esta tarea, habilitar el registro del flujo de datos del paquete Lesson 4.dtsx. A continuacin, 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 bsica de un
paquete. Tambin puede ver las entradas del archivo de registro en la ventana Registrar eventos del Diseador de
SSIS.
Para agregar el registro al paquete
1. En el men SSIS, haga clic en Registro.
2.

En el cuadro de dilogo Configurar registros de SSIS, asegrese de que en el panel Contenedores el


objeto situado en la posicin superior, que representa el paquete de la leccin 4, est seleccionado.

3.

En la ficha Proveedores y registros, en el cuadro Tipo de proveedor, seleccione Proveedor de registro


SSIS para archivos de texto y 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 4 Log File.

5.

Si lo desea, modifique el campo Descripcin.

6.

En la columna Configuracin, haga clic en <Nueva conexin> para especificar el destino en el que se
escribe la informacin de registro.
En el cuadro de dilogo Editor del administrador de conexin de archivos, en Tipo de uso, seleccione
Crear archivo y, a continuacin, haga clic en Examinar. De forma predeterminada, el cuadro de dilogo
Seleccionar archivo abre la carpeta del proyecto, pero puede guardar la informacin de registro en
cualquier ubicacin.

7.

En el cuadro de dilogo Seleccionar archivo, en el cuadro Nombre de archivo, escriba TutorialLog.log


y haga clic en Abrir.

8.

Haga clic en Aceptar para cerrar el cuadro de dilogo Editor del administrador de conexin de
archivos.

9.

En el panel Contenedores, expanda todos los nodos de la jerarqua del contenedor de paquetes y, a
continuacin, desactive todas las casillas de verificacin, incluida Extract Sample Currency Data. Ahora,
active la casilla de verificacin Extract Sample Currency Data para obtener slo los eventos de este nodo.

Importante:
Si la casilla de verificacin Extract Sample Currency Data est atenuada en lugar de activada, la tarea
utiliza la configuracin de registro del contenedor primario y no se pueden habilitar los eventos de registro
especficos de la tarea.
10. En la columna Eventos de la ficha 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

categoras

de

informacin

se

seleccionan

automticamente para los eventos que se especifiquen.


12. Haga clic en Bsicas para ocultar las categoras de informacin.
13. En la ficha Proveedores y registros, en la columna Nombre, seleccione Lesson 4 Log File. Una vez que
haya creado un proveedor de registro para el paquete, si lo desea, puede anular su seleccin para desactivar
temporalmente el registro, sin tener que eliminar el proveedor de registro y crearlo de nuevo.
14. Haga clic en Aceptar.

Tarea 3: Probar el paquete del tutorial de la leccin 4


En esta tarea, ejecutar el paquete Lesson 4.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
ejecucin del paquete, comprobar el contenido del archivo de registro generado por el proveedor de registro.
Comprobar el diseo del paquete
Antes de probar el paquete, debe comprobar que los flujos de datos y de control de la leccin 4 contienen los objetos
mostrados en los diagramas siguientes. El flujo de control debe ser idntico al flujo de datos de las lecciones 2 y 3.
El flujo de datos debe ser idntico al flujo de datos de las lecciones 1, 2 y 3.
Flujo de control

Flujo de datos

Para ejecutar el paquete de tutorial de la leccin 4


1. En el men SSIS, haga clic en Registrar eventos.
2.

En el men Depurar, haga clic en Iniciar depuracin.

3.

Una vez que haya finalizado la ejecucin del paquete, en el men Depurar, haga clic en Detener
depuracin.

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 semntica de la informacin generada para los eventos

PipelineExecutionPlan

PipelineExecutionTrees queda fuera del mbito de este tutorial, puede ver que la primera lnea enumera
los campos de informacin especificados en la ficha Detalles del cuadro de dilogo Configurar registros
de SSIS. Adems, puede comprobar que los dos eventos que ha seleccionado, PipelineExecutionPlan y
PipelineExecutionTrees, se han registrado para cada iteracin del bucle Foreach.

Leccin 5: Agregar redireccin de flujo de errores


Para administrar los errores que puedan aparecer en el proceso de transformacin, Microsoft Integration Services
ofrece la posibilidad de decidir para cada componente y cada columna cmo 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 estn configurados para ser rechazados si se produce un error. Rechazar el componente
debido a un error, causa, a su vez, que el paquete tambin genere un error y que todos los procesos subsiguientes
se detengan.
En lugar de dejar que los errores detengan la ejecucin de los paquetes, es recomendable configurar y administrar
los posibles errores de procesamiento como si se produjeran en la transformacin. 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 ms adelante.
En esta leccin, crear una copia del paquete que ha desarrollado en la Leccin 4: Agregar registro. Trabajando con
este paquete nuevo, crear una versin daada de los archivos de datos de ejemplo. El archivo daado forzar la
aparicin 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 bsqueda en la transformacin Lookup Currency Key.
Antes de escribir los datos del error en el archivo, incluir un componente de script que utiliza una script para obtener
descripciones de error. A continuacin, volver a configurar la transformacin Lookup Currency Key para
redireccionar los datos que no hayan podido procesarse en la transformacin Script.

Tarea 1: Copiar el paquete de la leccin 4


En esta tarea, crear una copia del paquete que ha creado en la leccin 4, denominado Lesson 4.dtsx. Por otra parte,
si no ha completado la leccin 4, puede agregar al proyecto el paquete completado de la leccin 4 que se incluye con
el tutorial y, a continuacin, copiar dicho paquete para trabajar. Utilizar esta nueva copia en toda la leccin 5.
Para crear el paquete de la leccin 5
1. Si Business Intelligence Development Studio no est an abierto, haga clic en Inicio, seleccione Todos los
programas, Microsoft SQL Server y, a continuacin, haga clic en Business Intelligence Development
Studio.
2.

En el men Archivo, haga clic en Abrir, haga clic en Proyecto o solucin, seleccione SSIS Tutorial, haga
clic en Abrir y, despus, haga doble clic en SSIS Tutorial.sln.

3.

En el Explorador de soluciones, haga clic con el botn secundario en Lesson 4.dtsx y, a continuacin, haga
clic en Copiar.

4.

En el Explorador de soluciones, haga clic con el botn secundario en Paquetes SSIS y, a continuacin,
haga clic en Pegar.
De forma predeterminada, el paquete copiado se denomina Lesson 5.dtsx.

5.

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

6.

Haga clic con el botn secundario en cualquier parte del fondo de la ficha Flujo de control y haga clic en
Propiedades.

7.

En la ventana Propiedades, actualice la propiedad Name a Leccin 5.

8.

Haga clic en el cuadro de la propiedad Id. y, a continuacin, en la lista, haga clic en <Generar nuevo Id.>.

Para agregar el paquete de la leccin 4 completada


1. Abra Business Intelligence Development Studio y abra el proyecto SSIS Tutorial.
2.

En el Explorador de soluciones, haga clic con el botn secundario en Paquetes SSIS y haga clic en Agregar
paquete existente.

3.

En el cuadro de dilogo Agregar copia de paquete existente, en Ubicacin del paquete, seleccione
Sistema de archivos.

4.

Haga clic en el botn para examinar (), desplcese a C:\Archivos de programa\Microsoft SQL
Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Completed Packages,
seleccione Lesson 4.dtsx y haga clic en Abrir.

5.

Copie y pegue el paquete de la leccin 4 tal como se describe en los pasos 3 a 8 del procedimiento anterior.

Tarea 2: Crear un archivo daado


Para demostrar los errores de configuracin y el control de los errores de transformacin, 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 columna CurrencyID para garantizar que no pueda producir una coincidencia durante la bsqueda
de transformaciones. Cuando se procese el archivo nuevo, el error de bsqueda har que se produzca un error en la
transformacin Lookup Currency Key y, por consiguiente, el resto del paquete generar un error. Una vez que haya
creado el archivo de ejemplo daado, ejecutar el paquete para ver su error.
Para crear un archivo plano de ejemplo daado
1. En el Bloc de notas o en cualquier otro editor de texto, abra el archivo Currency_VEB.txt.
De forma predeterminada, el archivo Currency_VEB.txt se instala en la carpeta c:\Program Files\Microsoft
SQL Server\100\Samples\Integration Services\Tutorial\ Creating a Simple ETL Package\Sample Data.
2.

Utilice la funcin de bsqueda y sustitucin del editor de texto para buscar todas las instancias de VEB y
sustituirlas por BAD.

3.

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

Importante:
Asegrese de que Currency_BAD.txt se guarda en la carpeta C:\Archivos de programa\Microsoft SQL
Server\100\Samples\Integration Services\Tutorial\Creating a Simple ETL Package\Sample Data.
4.

Cierre el editor de texto.

Para comprobar que se producir un error durante la ejecucin


1. En el men Depurar, haga clic en Iniciar depuracin.
En la tercera iteracin del flujo de datos, la transformacin Lookup Currency Key intenta procesar el archivo
Currency_BAD.txt y la transformacin generar un error. El error de la transformacin har que todo el
paquete genere un error.
2.

En el men Depurar, haga clic en Detener depuracin.

3.

En la superficie de diseo, haga clic en la ficha Resultados de la ejecucin.

4.

Examine el registro y compruebe que se ha producido el siguiente error no controlado:

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

Nota:
El nmero 30 es el Id. del componente. Este valor se asigna al generar el flujo de datos, y es posible que el
valor del paquete sea diferente.

Tarea 3: Agregar redireccin de flujo de errores


Como se ha mostrado en la tarea anterior, la transformacin Lookup Currency Key no puede generar una coincidencia
cuando la transformacin intenta procesar el archivo plano de ejemplo daado que ha generado un error. Puesto que
la transformacin utiliza la configuracin de salida de error predeterminada, cualquier error da lugar a un error de la
transformacin. Cuando se produce un error en la transformacin, tambin se produce un error en el resto del
paquete.
En lugar de permitir que se produzca un error en la transformacin, 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 informacin adicional sobre
el error para comprobarla y procesarla de nuevo ms adelante.
En esta tarea configurar la transformacin 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 escribirn en un archivo.
De forma predeterminada, las dos columnas adicionales en una salida de errores de Integration Services, ErrorCode
y ErrorColumn, slo contienen cdigos numricos que representan un nmero de error y el Id. de la columna en la
que se produjo el error. Estos valores numricos pueden tener un uso limitado sin la correspondiente descripcin 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 script para obtener acceso a la API de Integration Services y obtener una descripcin del
error.
Para configurar una salida de errores
1.

En el Cuadro de herramientas, expanda Transformaciones de flujo de datos y, a continuacin,


arrastre Componente de script a la superficiede diseo de la ficha Flujo de datos. Coloque Script a la
derecha de la transformacin Lookup Currency Key.

2.

En el cuadro de dilogo Seleccionar el tipo de componente de script, haga clic en Transformacin y


luego en Aceptar.

3.

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

4.

En el cuadro de dilogo Configurar la salida de errores, en la columna Error, seleccione Redirigir fila
y, a continuacin, haga clic en Aceptar.

5.

En la superficie de diseo Flujo de datos, haga clic en Componente de script en el Componente


descript recin agregado y cambie el nombre por Get Error Description.

6.

Haga doble clic en la transformacin Get Error Description.

7.

En el cuadro de dilogo Editor de transformacin Script, en la pgina Columnas de entrada, seleccione


la columna ErrorCode.

8.

En la pgina Entradas y salidas, expanda Salida 0, haga clic en Columnas de salida y, a continuacin,
en Agregar columna.

9.

En la propiedad Name, escriba ErrorDescription y establezca la propiedad DataType en string


[DT_WSTR].

10. En la pgina Script, compruebe que la propiedad LocaleID est establecida en Ingls (Estados Unidos).
11. Haga clic en Editar script para abrir Herramientas Microsoft Visual Studio para Aplicaciones (VSTA). En el
mtodo Input0_ProcessInputRow, escriba o pegue el cdigo siguiente.
[Visual Basic]

Copiar cdigo

Row.ErrorDescription =
Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)
[Visual C#]

Copiar cdigo

Row.ErrorDescription
this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
La subrutina completada ser como el cdigo siguiente.
[Visual Basic]

Copiar cdigo

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)


Row.ErrorDescription =
Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)
End Sub
[Visual C#]

Copiar cdigo

public override void Input0_ProcessInputRow(Input0Buffer Row)


{
Row.ErrorDescription

this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
}
12. Genere el script para guardar sus cambios y, a continuacin, cierre VSTA.
13. Haga clic en Aceptar para cerrar el cuadro de dilogo Editor de transformacin Script.

Tarea 3: Agregar redireccin de flujo de errores


Como se ha mostrado en la tarea anterior, la transformacin Lookup Currency Key no puede generar una coincidencia
cuando la transformacin intenta procesar el archivo plano de ejemplo daado que ha generado un error. Puesto que
la transformacin utiliza la configuracin de salida de error predeterminada, cualquier error da lugar a un error de la
transformacin. Cuando se produce un error en la transformacin, tambin se produce un error en el resto del
paquete.
En lugar de permitir que se produzca un error en la transformacin, 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 informacin adicional sobre
el error para comprobarla y procesarla de nuevo ms adelante.
En esta tarea configurar la transformacin 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 escribirn en un archivo.
De forma predeterminada, las dos columnas adicionales en una salida de errores de Integration Services, ErrorCode
y ErrorColumn, slo contienen cdigos numricos que representan un nmero de error y el Id. de la columna en la
que se produjo el error. Estos valores numricos pueden tener un uso limitado sin la correspondiente descripcin 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 script para obtener acceso a la API de Integration Services y obtener una descripcin del
error.
Para configurar una salida de errores
1.

En el Cuadro de herramientas, expanda Transformaciones de flujo de datos y, a continuacin,


arrastre Componente de script a la superficiede diseo de la ficha Flujo de datos. Coloque Script a la
derecha de la transformacin Lookup Currency Key.

2.

En el cuadro de dilogo Seleccionar el tipo de componente de script, haga clic en Transformacin y


luego en Aceptar.

3.

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

4.

En el cuadro de dilogo Configurar la salida de errores, en la columna Error, seleccione Redirigir fila
y, a continuacin, haga clic en Aceptar.

5.

En la superficie de diseo Flujo de datos, haga clic en Componente de script en el Componente


descript recin agregado y cambie el nombre por Get Error Description.

6.

Haga doble clic en la transformacin Get Error Description.

7.

En el cuadro de dilogo Editor de transformacin Script, en la pgina Columnas de entrada, seleccione


la columna ErrorCode.

8.

En la pgina Entradas y salidas, expanda Salida 0, haga clic en Columnas de salida y, a continuacin,
en Agregar columna.

9.

En la propiedad Name, escriba ErrorDescription y establezca la propiedad DataType en string


[DT_WSTR].

10. En la pgina Script, compruebe que la propiedad LocaleID est establecida en Ingls (Estados Unidos).
11. Haga clic en Editar script para abrir Herramientas Microsoft Visual Studio para Aplicaciones (VSTA). En el
mtodo Input0_ProcessInputRow, escriba o pegue el cdigo siguiente.
[Visual Basic]

Copiar cdigo

Row.ErrorDescription =
Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)
[Visual C#]

Copiar cdigo

Row.ErrorDescription
this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
La subrutina completada ser como el cdigo siguiente.
[Visual Basic]

Copiar cdigo

Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)


Row.ErrorDescription =

Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)
End Sub
[Visual C#]

Copiar cdigo

public override void Input0_ProcessInputRow(Input0Buffer Row)


{
Row.ErrorDescription

this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
}
12. Genere el script para guardar sus cambios y, a continuacin, cierre VSTA.
13. Haga clic en Aceptar para cerrar el cuadro de dilogo Editor de transformacin Script.

Tarea 5: Probar el paquete del tutorial de la leccin 5


En tiempo de ejecucin, el archivo daado, Currency_BAD.txt, no podr generar una coincidencia en la
transformacin 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 ningn 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 configuracin 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 diseo del paquete
Antes de probar el paquete, debe comprobar que los flujos de datos y de control del paquete de la leccin 5 contienen
los objetos mostrados en los diagramas siguientes. El flujo de control debe ser idntico al flujo de datos de las
lecciones 2 a 4.
Flujo de control

Flujo de datos

Para ejecutar el paquete de tutorial de la leccin 5


1. En el men Depurar, haga clic en Iniciar depuracin.
2.

Una vez que haya finalizado la ejecucin del paquete, en el men Depurar, haga clic en Detener
depuracin.

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 las columnas 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 bsqueda" de ErrorDescription. El valor de ErrorColumn se establece en 0 porque el error no es
especfico de columna. Es la operacin de bsqueda la que ha generado el error. .

Você também pode gostar