Exemple ForEachDirectory

Mis à jour : 5 décembre 2005

Cet exemple de code illustre la création d'un énumérateur et d'une interface utilisateur personnalisés pour définir les propriétés de cet énumérateur à l'aide du .NET Framework et de code managé. Il n'est pas pris en charge sur la plateforme IA64.

Exécution de l'exemple

Si vous savez déjà commencer localiser, générer et installer les exemples de code, vous pouvez vous rendre directement à la section Test de l'exemple pour savoir comment configurer et exécuter l'exemple de code.

Configuration requise

L'exemple ForEachDirectory nécessite l'installation des composants suivants.

  • Le Kit de développement .NET Framework SDK 2.0 ou Microsoft Visual Studio 2005. Vous pouvez obtenir gratuitement le Kit de développement .NET Framework SDK. Voir la rubrique de la documentation en ligne, Installation du SDK .NET Framework.
  • Microsoft SQL Server 2005 Integration Services
ms160909.note(fr-fr,SQL.90).gifImportant :
Les exemples sont fournis uniquement à titre éducatif. Ils ne sont pas destinés à être utilisés dans un environnement de production et n'ont pas été testés à cet usage. Microsoft ne fournit aucun support technique pour ces exemples.

Emplacement

Si l'exemple de code a été installé à l'emplacement par défaut, l'exemple se trouve dans le répertoire suivant :

C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\ForEachDirectory Sample

La solution C# pour l'exemple de code se trouve dans le répertoire CS et la solution Visual Basic dans le répertoire VB.

Pour obtenir des informations sur la procédure à deux étapes que vous devez suivre pour installer les exemples, consultez Installation des exemples. Pour vous procurer la dernière version des exemples, y compris les nouveaux exemples publiés après la version d'origine de SQL Server 2005, consultez Exemples et exemples de base de données SQL Server 2005 (avril 2006).

Génération de l'exemple

Si vous n'avez généré aucun fichier de clé de nom fort jusqu'à maintenant, utilisez la procédure suivante pour créer automatiquement ce fichier.

Pour générer un fichier de clé de nom fort

  1. Pour ouvrir une invite de commandes Microsoft Visual Studio 2005, cliquez sur Démarrer, pointez sur Tous les programmes, sur Microsoft Visual Studio 2005, sur Visual Studio Tools, puis cliquez sur Invite de commandes Visual Studio 2005.

    – ou –

    Pour ouvrir une invite de commandes Microsoft .NET Framework, cliquez sur Démarrer, pointez sur Tous les programmes, sur Microsoft .NET Framework SDK 2.0, puis cliquez sur Invite de commandes du Kit de développement SDK.

  2. À l'invite de commandes, utilisez la commande CD (changer de répertoire) pour remplacer le dossier actif dans la fenêtre de l'invite par le dossier Samples. Le fichier de clé que vous créez dans ce dossier sera utilisé par tous les exemples de code de Microsoft SQL Server 2005.

    ms160909.note(fr-fr,SQL.90).gifRemarque :
    Pour savoir quel dossier contient les exemples, cliquez sur Démarrer, pointez sur Tous les programmes, sur Microsoft SQL Server 2005, sur Documentation et didacticiels, puis cliquez sur Exemples. Si l'emplacement d'installation par défaut a été utilisé, les exemples sont stockés dans <lecteur_système>:\Program Files\Microsoft SQL Server\90\Samples.
  3. À partir de l'invite, exécutez la commande suivante pour générer le fichier de clé :

    sn -k SampleKey.snk

    ms160909.note(fr-fr,SQL.90).gifImportant :
    Pour plus d'informations sur la paire de clés de nom fort, consultez l'article de sécurité concernant les noms forts et la sécurité dans .NET Framework, dans le Centre de développement .NET sur MSDN.
  4. Vous aurez besoin du jeton de clé publique présent dans le fichier de clé à une étape ultérieure de la procédure. Pour obtenir ce jeton, procédez tout d'abord à l'extraction de la clé publique à partir du fichier de clé en exécutant la commande suivante à partir de l'invite de commandes :

    sn -p SampleKey.snk SampleKeyPublic.snk

  5. Affichez le jeton de clé publique en exécutant la commande suivante à partir de l'invite de commandes :

    sn -t SampleKeyPublic.snk

  6. Copiez le jeton de clé publique dans le Presse-papiers ou enregistrez-le pour une utilisation ultérieure.

Pour générer l'exemple

  1. Ouvrez Microsoft Visual Studio 2005.

  2. Dans le menu Fichier, cliquez sur Ouvrir, puis sur Projet et ouvrez ForEachDirectory.sln à partir du répertoire Samples voulu, que ce soit CS pour le langage C# ou VB, pour le langage Visual Basic.

  3. Dans l'Explorateur de solutions, sélectionnez le code ForEachDirectory.cs ou ForEachDirectory.vb.

  4. Dans ce code, repérez l'attribut DtsTask. Sur la ligne de code, remplacez la valeur existante du jeton de clé publique dans la propriété d'attribut UITypeName du code IncrementTask.cs. La valeur alphanumérique située après « PublicKeyToken = » doit être remplacée par l'une des valeurs affichées dans la commande sn -t de l'une des étapes précédentes.

  5. Dans le menu Générer, cliquez sur Générer ForEachDirectory pour créer automatiquement la DLL du projet.

Installation de la DLL dans le dossier ForEachEnumerator et le Global Assembly Cache

Cet exemple est fourni en Visual Basic et en C#. Pour distinguer les assemblys de chaque version de l'exemple, CS ou VB est ajouté à la fin du nom de l'assembly de sortie. Une fois le composant créé, il doit être copié dans le dossier ForEachEnumerators, puis ajouté au Global Assembly Cache afin de le rendre utilisable dans Business Intelligence Development Studio.

Pour installer le composant dans le dossier ForEachEnumerators

  1. Copiez l'assembly (ForeachDirectoryCS.dll ou ForeachDirectoryVB.dll) dans le dossier qui se trouve à l'emplacement suivant %system%\Program Files\Microsoft SQL Server\90\DTS\ForEachEnumerators.

  2. Ouvrez le répertoire du Global Assembly Cache qui se trouve dans %system%\assembly. Il s'agit le plus souvent de C:\Windows\assembly.

  3. Sélectionnez l'assembly dans la première fenêtre, puis faites-le glisser dans la fenêtre contenant le dossier assembly.

Pour installer le composant dans le Global Assembly Cache en effectuant un glisser-déplacer de l'assembly

  1. Copiez l'assembly (ForeachDirectoryCS.dll ou ForeachDirectoryVB.dll) dans le dossier qui se trouve à l'emplacement suivant %system%\Program Files\Microsoft SQL Server\90\DTS\ForEachEnumerators.

  2. Ouvrez le répertoire du Global Assembly Cache qui se trouve dans %system%\assembly. Il s'agit le plus souvent de C:\Windows\assembly.

  3. Sélectionnez l'assembly dans la première fenêtre, puis faites-le glisser dans la fenêtre contenant le dossier assembly.

Pour installer le composant dans le Global Assembly Cache à l'aide de gacutil.exe

  1. Ouvrez une fenêtre d'invite de commandes.

  2. Tapez la commande suivante pour installer la version C# du composant et l'interface utilisateur dans le Global Assembly Cache :

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

  3. Tapez la commande suivante pour installer la version Visual Basic du composant et l'interface utilisateur dans le Global Assembly Cache :****

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

Remarque   Pour raison de simplicité, l'interface utilisateur de cet exemple a été placée dans le même projet que le code de la tâche ; c'est la raison pour laquelle il suffit de copier la DLL dans le répertoire de l'assembly. Si vous décidez de coder l'interface utilisateur dans un projet différent, vous devez ajouter la DLL qui contient l'interface utilisateur au Global Assembly Cache ainsi que la DLL qui contient le code. En revanche, seul le code doit être compilé dans un répertoire spécifique.

Une fois ces étapes achevées, l'énumérateur est disponible dans l'Éditeur de boucle ForEach du conteneur ForEachLoop.

Pour utiliser l'exemple dans Business Intelligence Development Studio

  1. Ouvrez Business Intelligence Development Studio.

  2. Dans le menu Fichier, cliquez sur Nouveau, puis Projet.

  3. Dans la boîte de dialogue Nouveau projet, repérez la zone Types de projets, cliquez sur Projets Business Intelligence puis, dans le volet droit, cliquez sur Projet Integration Services.

  4. Dans la zone Nom, tapez ForEachDirectory comme nom du nouveau projet.

  5. Dans la zone Emplacement, sélectionnez l'emplacement où vous souhaitez enregistrer le fichier. Cliquez sur OK.

  6. Dans la boîte de dialogue Explorateur de solutions, double-cliquez sur Package.dtsx.

  7. Dans la zone Emplacement, sélectionnez l'emplacement où vous voulez enregistrer le fichier. Cliquez sur OK.

  8. Dans la boîte de dialogue Explorateur de solutions, double-cliquez sur Package.dtsx.

  9. Ajoutez le conteneur ForEachLoop à la surface de flux de contrôle d'un package.

  10. Ouvrez l'Éditeur de boucle ForEach en double-cliquant sur le conteneur ForEachLoop ajouté au cours de l'étape un.

  11. Cliquez sur le nœud Collection, puis sélectionnez l'énumérateur ForEachDirectory dans la liste déroulante Énumérateur.

  12. Spécifiez les valeurs des propriétés de l'énumérateur ForEachDirectory, puis cliquez sur OK.

Test de l'exemple

Après avoir ajouté l'exemple de composant à une tâche de flux de données dans un package, vous pouvez le configurer dans le concepteur SSIS. L'énumérateur ForEachDirectory est doté de cinq propriétés pour contrôler son comportement d'exécution.

Propriété Description

RootDirectorySource

Spécifie la source pour la propriété RootDirectory qui est définissable par un élément ConnectionManager, Variable ou DirectInput.

RootDirectory

Spécifie le répertoire où l'énumérateur débute son énumération.

IncludeRootDirectory

Spécifie si le répertoire racine est inclus dans les répertoires énumérés.

EnumerateSubFolders

Spécifie si les sous-dossiers des dossiers contenus dans le répertoire racine sont énumérés.

SiblingFoldersBeforeSubFolders

Lorsque EnumerateSubFolders prend la valeur true, spécifie si l'énumérateur commence l'énumération par les dossiers frères ou si l'ensemble de la structure du répertoire est énumérée en premier.

Historique des modifications

Version Historique

17 juillet 2006

5 décembre 2005

Nouveau contenu :
  • Insertion d'instructions sur l'utilisation de l'exemple dans Business Intelligence Development Studio.
  • Ajout d'un tableau décrivant les propriétés trouvées dans l'interface utilisateur personnalisée.