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.
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.
|
Voir aussi
Concepts
Création d'une tâche personnalisée
Codage d'une tâche personnalisée
Développement d'une interface utilisateur pour une tâche personnalisée