ForEachDirectory (ejemplo)

Actualizado: 5 de diciembre de 2005

Este ejemplo de código muestra cómo crear un enumerador personalizado y una interfaz de usuario personalizada para establecer las propiedades del enumerador con .NET Framework y código administrado. Este ejemplo no es compatible con IA64.

Ejecutar el ejemplo

Si ya sabe cómo ubicar, generar e instalar ejemplos de código, puede pasar directamente a la sección Probar el ejemplo y leer acerca de la configuración y ejecución del ejemplo de código.

Requisitos previos

El ejemplo ForEachDirectory requiere que se instalen los siguientes componentes:

  • .NET Framework SDK 2.0 o Microsoft Visual Studio 2005. Puede obtener .NET Framework SDK gratuitamente. Vea el tema Instalar .NET Framework SDK en los Libros en pantalla.
  • Microsoft SQL Server 2005 Integration Services
ms160909.note(es-es,SQL.90).gifImportante:
Los ejemplos se proporcionan exclusivamente con fines formativos. No se han diseñado para utilizarse en un entorno de producción y no se han probado en ningún entorno de este tipo. Microsoft no ofrece soporte técnico para estos ejemplos.

Ubicación

Si el ejemplo de código se instaló en la ubicación predeterminada, estará en el siguiente directorio:

C:\Archivos de programa\Microsoft SQL Server\100\Ejemplos\Integration Services\\Programming Samples\Control Flow\ForEachDirectory Sample

La solución C# para el ejemplo de código está ubicada en el directorio CS y la solución Visual Basic, en el directorio VB.

Para obtener información acerca del proceso de dos pasos necesario para instalar los ejemplos, vea Instalar ejemplos. Para obtener la última versión de los ejemplos, incluidos aquéllos comercializados tras la versión comercial original de SQL Server 2005, vea el artículo acerca de ejemplos y bases de datos de ejemplo de SQL Server 2005 publicado en abril de 2006.

Generar el ejemplo

Si aún no ha generado un archivo de clave de nombre seguro, siga este procedimiento para generarlo.

Para generar un archivo de clave de nombre seguro

  1. Para abrir un símbolo del sistema de Microsoft Visual Studio 2005, haga clic en Inicio, seleccione Todos los programas, seleccione Microsoft Visual Studio 2005, Visual Studio Tools y, después, haga clic en Símbolo del sistema de Visual Studio 2005.

    O bien

    Para abrir un símbolo del sistema de Microsoft .NET Framework, haga clic en Inicio, seleccione Todos los programas, seleccione Microsoft .NET Framework SDK v2.0 y haga clic en SDK Command Prompt.

  2. En el símbolo del sistema, use el comando de cambio de directorio (CD) para cambiar la carpeta actual de la ventana del símbolo del sistema a la carpeta Samples. El archivo de clave que cree en esta carpeta se usará en todos los ejemplos de código de Microsoft SQL Server 2005.

    [!NOTA] Para determinar la carpeta donde se encuentran los ejemplos, haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Server 2005, Documentación y tutoriales y, a continuación, haga clic en el directorio Ejemplos. Si se usó la ubicación de instalación predeterminada, los ejemplos se encuentran en <unidadDelSistema>:\Archivos de programa\Microsoft SQL Server\90\Samples.

  3. En el símbolo del sistema, ejecute el comando siguiente para generar el archivo de clave:

    sn -k SampleKey.snk

    ms160909.note(es-es,SQL.90).gifImportante:
    Para obtener más información acerca del par de claves de nombre seguro, vea el apartado sobre informes de seguridad de nombres seguros y seguridad en .NET Framework en el centro de desarrollo de .NET de MSDN.
  4. Necesitará el símbolo (token) de clave pública del archivo de clave en un paso posterior. Para obtener el símbolo de clave pública, extraiga primero la clave pública del archivo de clave ejecutando el comando siguiente en el símbolo del sistema:

    sn -p SampleKey.snk SampleKeyPublic.snk

  5. Muestre el símbolo de clave pública ejecutando el comando siguiente en el símbolo del sistema:

    sn -t SampleKeyPublic.snk

  6. Copie el símbolo de clave pública al Portapapeles o guárdelo para usarlo posteriormente.

Para generar el ejemplo

  1. Abra Microsoft Visual Studio 2005.

  2. En el menú Archivo | Abrir, haga clic en Proyecto y abra ForEachDirectory.sln en el directorio de ejemplos que desee: CS para el lenguaje C# o VB para Visual Basic.

  3. En el Explorador de soluciones, seleccione el código de ForEachDirectory.cs o ForEachDirectory.vb.

  4. En el código, busque el atributo DtsTask. En esa línea de código, reemplace el valor existente del símbolo de clave pública de la propiedad de atributo UITypeName en IncrementTask.cs. El valor alfanumérico después de "PublicKeyToken =" se debe reemplazar con el valor que se obtiene con el comando sn -t de un paso anterior.

  5. Haga clic en Generar / Generar ForEachDirectory en el menú para generar la DLL para el proyecto.

Instalar la DLL en la carpeta ForEachEnumerator y en la caché de ensamblados global

Este ejemplo se proporciona en Visual Basic y C#. Para distinguir entre los ensamblados para cada versión del ejemplo, el nombre del ensamblado de salida lleva anexado CS o VB. Después de generar correctamente el componente, éste se debe copiar en la carpeta ForEachEnumerators y, a continuación, se debe agregar a la caché de ensamblados global para usarlo en Business Intelligence Development Studio.

Para instalar el componente en la carpeta ForEachEnumerators

  1. Copie el ensamblado (ForeachDirectoryCS.dll o ForeachDirectoryVB.dll) en la carpeta que se encuentra en %system%\Archivos de programa\Microsoft SQL Server\90\DTS\ForEachEnumerators.

  2. Abra el directorio de la caché de ensamblados global en %system%\assembly. En la mayoría de equipos, será C:\Windows\assembly.

  3. Seleccione el ensamblado en la primera ventana y, a continuación, arrástrelo y colóquelo en la ventana que contiene la carpeta assembly.

Para instalar el componente en la caché de ensamblados global (GAC) arrastrando y colocando el ensamblado

  1. Copie el ensamblado (ForeachDirectoryCS.dll o ForeachDirectoryVB.dll) en la carpeta que se encuentra en %system%\Archivos de programa\Microsoft SQL Server\90\DTS\ForEachEnumerators.

  2. Abra el directorio de la caché de ensamblados global en %system%\assembly. En la mayoría de equipos, será C:\Windows\assembly.

  3. Seleccione el ensamblado en la primera ventana y, a continuación, arrástrelo y colóquelo en la ventana que contiene la carpeta assembly.

Para instalar el componente en la caché de ensamblados global mediante gacutil.exe

  1. Abra una ventana de símbolo del sistema.

  2. Escriba el siguiente comando para instalar la versión C# del componente y la interfaz de usuario en la caché de ensamblados global:

    gacutil.exe -iF "c:\Program Files\Microsoft Sql Server\90\DTS\ ForEachEnumerators\ForEachDirectoryCS.dll"

  3. Escriba el siguiente comando para instalar la versión Visual Basic del componente y la interfaz de usuario en la caché de ensamblados global:****

    gacutil.exe -iF "c:\Program Files\Microsoft Sql Server\90\DTS\ForeachEnumerators\ForeachDirectoryVB.dll"

Nota   Para simplificar, la interfaz de usuario de este ejemplo se ha colocado en el mismo proyecto que el código de tarea. Por lo tanto, basta con copiar la DLL en el directorio del ensamblado. Si decide codificar la interfaz del usuario en un proyecto diferente, deberá agregar la DLL que contiene la interfaz de usuario a la caché global de ensamblados, así como la DLL que contiene el código. Sin embargo, sólo se debe compilar el código en un directorio específico.

Cuando haya completado estos pasos, el enumerador estará disponible en el Editor de bucles Foreach del contenedor de bucles Foreach.

Para usar el ejemplo en Business Intelligence Development Studio

  1. Abra Business Intelligence Development Studio.

  2. En el menú, haga clic en Archivo / Nuevo / Proyecto.

  3. En el cuadro de diálogo Nuevo proyecto, en Tipos de proyecto, haga clic en Proyectos de Business Intelligence y, en el panel derecho, haga clic en Proyecto de Integration Services.

  4. En el cuadro Nombre, escriba ForEachDirectory como nombre del nuevo proyecto.

  5. En el cuadro Ubicación, seleccione la ubicación donde desea guardar el archivo. Haga clic en Aceptar.

  6. En el cuadro de diálogo Explorador de soluciones, haga doble clic en Package.dtsx.

  7. En el cuadro Ubicación, seleccione la ubicación donde desea guardar el archivo. Haga clic en Aceptar.

  8. En el cuadro de diálogo Explorador de soluciones, haga doble clic en Package.dtsx.

  9. Agregue el contenedor de bucles Foreach a la superficie de flujo de control de un paquete.

  10. Abra el Editor de bucles Foreach haciendo doble clic en el contenedor de bucles Foreach que agregó en el paso uno.

  11. Haga clic en el nodo Colección y seleccione el enumerador ForEachDirectory en el cuadro desplegable Enumerador.

  12. Especifique los valores de las propiedades del enumerador ForEachDirectory y, a continuación, haga clic en Aceptar.

Probar el ejemplo

Después de agregar el componente de ejemplo a una tarea Flujo de datos en un paquete, puede configurarlo en el Diseñador de SSIS. El enumerador ForEachDirectory tiene cinco propiedades que controlan su comportamiento de ejecución.

Propiedad Descripción

RootDirectorySource

Especifica el origen de la propiedad RootDirectory que se puede establecer mediante ConnectionManager, Variable o DirectInput.

RootDirectory

Especifica el directorio donde el enumerador comienza su enumeración.

IncludeRootDirectory

Especifica si el directorio raíz se incluye en los directorios que se enumeran.

EnumerateSubFolders

Especifica si se enumeran las subcarpetas de las carpetas que contiene el directorio raíz.

SiblingFoldersBeforeSubFolders

Cuando EnumerateSubFolders es true, especifica si el enumerador enumera primero las carpetas del mismo nivel o la estructura de directorios completa.

Historial de cambios

Versión Historial

17 de julio de 2006

5 de diciembre de 2005

Contenido nuevo:
  • Se incorporaron instrucciones para usar el ejemplo en Business Intelligence Development Studio.
  • Se agregó la tabla que describe las propiedades de la interfaz de usuario personalizada.