Partager via


Création d'une tâche personnalisée

Les étapes de création d'une tâche personnalisée sont semblables aux étapes de création de tout autre objet personnalisé pour Integration Services :

  • Créer une classe qui hérite de la classe de base. Pour une tâche, la classe de base est Task.

  • Appliquer l'attribut qui identifie le type d'objet auprès de la classe. Pour une tâche, l'attribut est DtsTaskAttribute.

  • Substituer l'implémentation des méthodes et des propriétés de la classe de base. Pour une tâche, il s'agit notamment des méthodes Validate et Execute.

  • Développer éventuellement une interface utilisateur personnalisée. Pour une tâche, cette opération requiert une classe qui implémente l'interface IDtsTaskUI.

Pour obtenir un exemple fonctionnel de tâche personnalisée, consultez les exemples Integration Services sur Codeplex.

Mise en route d'une tâche personnalisée

Création de projets et de classes

Comme toutes les tâches managées dérivent de la classe de base Task, la première étape de création d'une tâche personnalisée consiste à créer un projet Bibliothèque de classes dans votre langage de programmation managé par défaut et créer une classe qui hérite de la classe de base. Dans cette classe dérivée, vous devez substituer les méthodes et les propriétés de la classe de base pour implémenter vos fonctionnalités personnalisées.

Dans la même solution, créez un deuxième projet Bibliothèque de classes pour l'interface utilisateur personnalisée. Il est recommandé d'utiliser un assembly distinct pour l'interface utilisateur afin de faciliter le déploiement car vous pouvez ainsi mettre à jour et redéployer le gestionnaire de connexions ou son interface utilisateur de manière indépendante.

Configurez les deux projets pour qu'ils signent les assemblys qui seront créés au moment de la génération à l'aide d'un fichier de clé de nom fort.

Application de l'attribut DtsTask

Appliquez l'attribut DtsTaskAttribute à la classe que vous avez créée pour l'identifier en tant que tâche. Cet attribut fournit des informations au moment de la conception, telles que le nom, la description et le type de la tâche.

Utilisez la propriété UITypeName pour lier la tâche à son interface utilisateur personnalisée. Pour obtenir le jeton de clé publique requis pour cette propriété, vous pouvez vous servir de sn.exe - t pour afficher le jeton de clé publique du fichier de paire de clés (.snk) que vous souhaitez utiliser pour signer l'assembly de l'interface utilisateur.

using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SSIS.Samples
{
  [DtsTask
  (
   DisplayName = "MyTask",
   IconResource = "MyTask.MyTaskIcon.ico",
   UITypeName = "My Custom Task," +
   "Version=1.0.0.0," +
   "Culture = Neutral," +
   "PublicKeyToken = 12345abc6789de01",
   TaskType = "PackageMaintenance",
   TaskContact = "MyTask; company name; any other information",
   RequiredProductLevel = DTSProductLevel.None
   )]
  public class MyTask : Task
  {
    // Your code here.
  }
}
Imports System
Imports Microsoft.SqlServer.Dts.Runtime

<DtsTask(DisplayName:="MyTask", _
 IconResource:="MyTask.MyTaskIcon.ico", _
 UITypeName:="My Custom Task," & _
 "Version=1.0.0.0,Culture=Neutral," & _
 "PublicKeyToken=12345abc6789de01", _
 TaskType:="PackageMaintenance", _
 TaskContact:="MyTask; company name; any other information", _
 RequiredProductLevel:=DTSProductLevel.None)> _
Public Class MyTask
  Inherits Task

  ' Your code here.

End Class 'MyTask

Génération, déploiement et débogage d'une tâche personnalisée

Les étapes pour générer, déployer et déboguer une tâche personnalisée dans Integration Services sont très semblables aux étapes requises pour les autres types d'objets personnalisés. Pour plus d'informations, consultez Génération, déploiement et débogage d'objets personnalisés.

Icône Integration Services (petite) Rester à jour avec Integration Services

Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que des solutions sélectionnées par la communauté, visitez la page Integration Services sur MSDN ou TechNet :

Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.