Anda di halaman 1dari 9

Utilizar SQL Server Integration Services (SSIS) para poblar el Data Mart Ejercicio 4: Definir variables en el paquete.

Uso del contenedor For Each Loop. 1. Abra el paquete CopiaProductos.dtsx, y sitese en la pestaa Control Flow. Haga un clic sobre cualquier parte de la ventana de diseo, asegurndose de no seleccionar ninguna tarea. A continuacin, seleccione el men SSIS, y elija la opcin Variables. 2. Aparecer la ventana Variables en el lado izquierdo de la pantalla. Pulse el botn para agregar una nueva variable al paquete. Establezca las siguientes propiedades para la variable: Propiedad Valor Name Scope Data Type Value varTerritoryFile CopiaProductos String

3. Abra el Toolbox, seleccione el tem Foreach Loop Container, y arrstrelo sobre la ventana de diseo del paquete. Renombre el elemento creado como Archivos de

despachos de planta, y agrguele una precedencia con origen en la tarea Borrar datos. El entorno de diseo debe quedar de la siguiente manera:

4. El bucle creado en el paquete tiene como objetivo recorrer el directorio de trabajo de este captulo, para encontrar los archivos de texto cuyo nombre empiece con DespachosPlanta. Por cada archivo encontrado, su contenido se copiar a una tabla de SQL server. 5. Haga doble clic sobre el bucle Archivos de despachos de planta. Se abrir su ventana de propiedades. En la parte izquierda de la ventana, seleccione la opcin Collection. Establezca las siguientes opciones para hacer que el bucle recorra el directorio de los archivos de texto con los datos de los despachos de planta: Propiedad Valor Enumerator Folder Foreach File Enumerator Seleccione la carpeta donde se encuentran los archivos DespachosPlantaLima.txt y

DespachosPlantaTrujillo.txt Files Retrieve file name DespachosPlanta*.txt Seleccione la opcin Fully Qualified

6. A continuacin, se configurar el bucle para que, por cada vez que encuentre un archivo, almacene su nombre en la variable varTerritoryFile. En el lado izquierdo de la ventana de propiedades, seleccione la opcin variable Mappings. En la columna Variables, seleccione la variable varTerritoryFile, y asgnela al elemento de posicin 0 de la coleccin de archivos (el bucle Foreach recorre colecciones, y las colecciones tienen filas y columnas; en el caso de una coleccin que recorre una lista de archivos, slo hay una columna, que corresponde con la posicin 0 de la coleccin)

7. Pulse el botn OK para finalizar la edicin del bucle. 8. Agregue un nuevo connection manager de tipo Flat File Connection, y establezca los siguientes valores para sus propiedades: Propiedad Valor Connection manager name File name Despachos de planta Seleccione el archivo DespachosPlantaLima.txt (Comillas dobles) Seleccionado

Text qualifier Column nmaes in the first data row

9. Observe que, en el connection manager que acaba de crear, la propiedad File name apunta nicamente al archivo DespachosPlantaLima.txt. Para hacer que dicha

propiedad obtenga sus valores a partir de la variable varTerritoryFile, seleccione el connection manager Despachos de planta. En el men View, seleccione la opcin Properties Windows para visualizar la ventana Porperties. Seleccione la propiedad Expressions.

10. En la propiedad Expressions, presione el botn () Se abrir el editor de expresiones. En la columna Property, seleccione la propiedad ConnectionString.

11. Presione el botn () al costado de la columna Expression. Se abrir el constructor de expresiones. En el lado izquierdo de la pantalla, expanda el nodo Variables, seleccione la variable User::varTerritoryFile y arrstrela sobre la caja de texto Expresin. Al finalizar, la ventana debe quedar de la siguiente manera:

12. Pulse el botn OK para cerrar el constructor de expresiones. Pulse nuevamente el botn OK para cerrar la ventana del Property Expressions Editor. Guarde el paquete. 13. Dentro del bucle Archivos de despachos de planta, agregue un nuevo Data Flow Task (asegrese de arrastrar el Data Flow directamente desde el Toolbox y colocarlo dentro del bucle). Renmbrelo como Copiar Despachos. Al finalizar, la ventana de diseo debe quedar de la siguiente manera:

14. Haga doble clic sobre la tarea Copiar Despachos para disear el flujo de datos. Siga los siguientes pasos: Desde el Toolbox, agregue un Flat File Source y renmbrelo como Despachos. Ascielo con el connection manager Despachos de planta Desde el Toolbox, agregue un OLE DB Destination y renmbrero como Tabla de Despachos. A continuacin , una Despachos con Tabla de Despachos. Edite las siguientes propiedades del destino Tabla de despachos: Propiedad Valor OLE DB Connection Manager Data Access mode AWorks MartDemo Tableo r view fast load

Name of the table or the view

Presione el botn new para crear una table, con la siguiente sentencia SQL: CREATE TABLE [Despachos] ( [IdPlanta] int, [IdProducto] int, [IdCliente] char(11), [Cantidad] smallint )

En la parte izquierda del editor de propiedades del destino OLEDB seleccione la opcin Mappings, y observe los mapeos de columnas que se han creado automticamente. Al finalizar, la ventana de diseo debe quedar de la siguiente manera:

15. Regrese al Control Flow, y edite la tarea Borrar Datos para efectuar un DELETE sobre la tabla Despachos al inicio de la ejecucin del paquete. 16. Grabe los cambios y pruebe el paquete