Exemple de création d'une tâche d'incrémentation personnalisée

Mis à jour : 5 décembre 2005

L'exemple de tâche d'incrémentation (IncrementTask) montre comment créer par programme des tâches personnalisées et les interfaces utilisateur associées. Cet exemple n'est pas pris en charge sur des systèmes d'exploitation Itanium. L'exemple de code implémente les fonctionnalités suivantes :

  • Remplacement de la classe de base Microsoft.SqlServer.Dts.Runtime.Task.
  • Validation.
  • Exécution.
  • Prise en charge de la persistance.
  • Prise en charge des points d'arrêt.
  • Événements personnalisés.

Cet exemple de code spécifique s'introduit dans une boucle lors de l'exécution. Une variable privée de type entier est incrémentée à chaque itération de la boucle. Les propriétés InitialValue, IncrementValue et LoopCount contrôlent le traitement dans la boucle. Ces propriétés sont définies par le biais de l'interface utilisateur personnalisée qui est implémentée par la tâche. Les points d'arrêt personnalisés OnBeforeIncrement et OnAfterIncrement, ainsi que leurs événements, se déclenchent avant et après l'incrémentation de la variable. La propriété ExecutionResult contient la valeur de la variable interne incrémentée lorsque l'exécution de la tâche est terminée.

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

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

Avant d'exécuter cet exemple de code, assurez-vous que les conditions suivantes sont respectées :

  • L'exemple de package et les données associées doivent être préalablement installés sur le disque dur local. Pour plus d'informations, consultez la rubrique de la documentation en ligne relative à l'installation et à la compilation d'exemples de code Integration Services.
  • Microsoft Visual Studio 2005
  • Microsoft SQL Server 2005 Integration Services

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\IncrementTask 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 dans le dossier Samples jusqu'à maintenant, utilisez la procédure suivante pour créer automatiquement ce fichier. Les exemples de projets sont configurés dans l'onglet Signature de la boîte de dialogue Propriétés du projet pour signer, au moment de la génération, les assemblys à l'aide de ce fichier de clé.

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 de la fenêtre d'invite de commandes 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.

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

    ms160699.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 IncrementTask.sln à partir du répertoire Samples voulu, à savoir CS pour le langage C# ou VB pour le langage Visual Basic.

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

  4. Dans ce code, repérez l'attribut DtsTask. Dans cette ligne de code, remplacez la valeur existante du jeton de clé publique dans la propriété de l'attribut UITypeName du code IncrementTask.cs. La valeur alphanumérique située après « PublicKeyToken = » doit être remplacée par celle affichée à l'étape précédente.

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

Installation de l'exemple

Cet exemple est fourni en Visual Basic et en C#. Pour effectuer la distinction entre les assemblys de chaque version de l'exemple, CS ou BV sont ajoutés au nom de l'assembly de sortie. Après avoir généré le composant, suivez les étapes suivantes pour l'ajouter comme tâche de flux de contrôle dans Business Intelligence Development Studio.

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

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

  2. En utilisant une deuxième fenêtre, 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 associée dans le Global Assembly Cache :

    gacutil.exe -iF "``C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\IncrementTask Sample\CS\bin\Debug\IncrementTaskCS.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\Samples\Integration Services\Programming Samples\Control Flow\IncrementTask Sample\VB\bin\Debug\IncrementTaskVB.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. Seul le code doit être compilé dans un répertoire spécifique.

Test de l'exemple

Vous pouvez tester l'exemple de tâche dans le concepteur SSIS en procédant comme suit :

Pour utiliser l'exemple dans Business Intelligence Development Studio

  1. Ouvrez Business Intelligence Development Studio.

  2. Dans le menu Fichier, cliquez sur Nouveau, puis sur 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 IncrementTask comme nom du nouveau projet.

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

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

  7. Dans la boîte à outils Éléments de flux de contrôle, cliquez avec le bouton droit dans la région où les Éléments de flux de contrôle sont répertoriés. Cliquez sur Choisir les éléments.

  8. Cliquez sur l'onglet Éléments de flux de contrôle SSIS. Faites défiler la liste et sélectionnez l'élément IncrementTaskCS ou IncrementTaskVB. Cliquez sur OK. La tâche IncrementTask doit maintenant être visible dans la boîte à outils Éléments de flux de contrôle.

  9. Ajoutez la tâche IncrementTask à la surface du flux de contrôle du package en double-cliquant sur la tâche ou en la faisant glisser jusqu'à la surface de Flux de contrôle.

  10. Lorsque la tâche se trouve sur la surface de dessin, double-cliquez sur la tâche pour ouvrir l'éditeur. Affectez la valeur 5 à LoopCount et la valeur 1 à IncrementValue.

  11. Cliquez sur Done.

  12. Exécutez le package.

  13. Après exécution du package, sélectionnez l'onglet Résultats d'exécution dans le concepteur.

Historique des modifications

Version Historique

5 décembre 2005

Contenu modifié :
  • Ajout d'étapes pour la création de la clé.