SQL Integration Services - SSIS: Contenedor de bucles Foreach



El contenedor de bucles Foreach define un flujo de control que se repite en un paquete. Este es un componente definido en el SSIS (SQL Server Integration Services). La ejecución del bucle en el contendor For Each es similar al bucle Foreach de varios lenguajes de programación conocidos.

Existen diferentes tipos de enumeradores disponibles que son:

* Enumerador de archivos para Foreach
El enumerador de archivos enumera los archivos en una carpeta. Por ejemplo, podemos obtener todos los archivos que tienen la extensión *. Txt en una carpeta de Windows y sus subcarpetas.

* Enumerador ADO para Foreach
Permite enumerar las filas de una tabla. Por ejemplo, podemos obtener las filas de los registros ADO.

* Enumerador de conjunto de filas del esquema Foreach de ADO.Net
El enumerador ADO.Net enumera la información del esquema. Por ejemplo, podemos obtener la una lista de tablas de la base de datos.

* Enumerador de elementos para Foreach
Utilizado para enumerar elementos que son colecciones. Por ejemplo, podemos enumerar los nombres de los ejecutables y directorios de trabajo que utiliza una tarea Ejecutar proceso.

* Enumerador de lista de nodos para Foreach
La lista de nodos que permite Enumera el resultado de una expresión XPath.

* Enumerador de variable para Foreach
El enumerador de variable enumera los objetos que contienen variables especificadas. Aquí los objetos enumerador no son más que una matriz o tabla de datos, como por ejemplo un DataSet de ADO.Net

* Enumerador de SMO para Foreach
El enumerador de SMO enumera los objetos de administración de SQL Server (SMO). Por ejemplo, se puede obtener la lista de funciones o vistas de una base de datos SQL Server.


Ejemplo :

Para usar el enumerador de archivos Foreach, proporcione la carpeta que contiene los archivos que se deben enumerar, especifique un filtro para el nombre y tipo de archivo, y especifique si se debe devolver el nombre de archivo completo. Además, indique si se deben recorrer las subcarpetas para obtener más archivos.

PASO 01

PASO 02


Paso 03

Paso 04
Por defecto figura en C#, cambiar a Basic



Al pulsar el botón  "Editar Script" digitar el siguiente código


        Dim variables As Variables
        If Dts.Variables.Contains("FileName") = True Then
            Dts.VariableDispenser.LockOneForRead("FileName", variables)
            Dim FileName As Object = variables("FileName").Value
        End If
        MsgBox("Encontrando el archivo : " & CStr(variables("FileName").Value))







REFERENCIAS :
http://bifase.blogspot.pe/2013/11/ssis-basico-bucles-foreach-para.html
http://devcate.blogspot.pe/2012/11/sql-integration-services-ssis.html
















Comentarios

Entradas populares de este blog

Para que sirve la N en SQL Server

MYSQL : CURSORES

SQL SERVER : EJECUTAR UN PAQUETE SSIS