Création d'un module fournisseur d'informations personnalisé
L'environnement d'exécution Integration Services possède des fonctionnalités de journalisation complètes. Un journal vous permet de capturer des événements qui se produisent pendant l'exécution d'un package. Integration Services inclut divers modules fournisseurs d'informations qui permettent de créer et stocker des journaux dans plusieurs formats, notamment XML, texte et base de données ou dans le journal des événements Windows. Si l'un de ces fournisseurs ou formats de sortie ne répond pas à vos besoins, vous pouvez créer un module fournisseur d'informations personnalisé.
Les étapes à suivre pour créer un module fournisseur d'informations personnalisé sont similaires à celles qui permettent de créer tout autre objet personnalisé pour Integration Services :
Créer une classe qui hérite de la classe de base. Pour un module fournisseur d'informations, la classe de base est LogProviderBase.
Appliquer l'attribut qui identifie le type d'objet auprès de la classe. Pour un module fournisseur d'informations, l'attribut est DtsLogProviderAttribute.
Substituer l'implémentation des méthodes et des propriétés de la classe de base. Pour un module fournisseur d'informations, celles-ci incluent la propriété ConfigString et les méthodes OpenLog, Log et CloseLog.
Les interfaces utilisateur personnalisées des modules fournisseurs d'informations personnalisés ne sont pas implémentées dans SQL ServerIntegration Services.
Pour obtenir des exemples fonctionnels de modules fournisseurs d'informations personnalisés, consultez les exemples Integration Services sur Codeplex.
Mise en route d'un module fournisseur d'informations personnalisé
Création de projets et de classes
Puisque tous les modules fournisseurs d'informations managés dérivent de la classe de base LogProviderBase, la première étape de création d'un module fournisseur d'informations personnalisé consiste à créer un projet Bibliothèque de classes dans votre langage de programmation managé par défaut, puis à 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.
Configurez le projet pour signer l'assembly qui sera généré avec un fichier de clé de nom fort.
[!REMARQUE]
De nombreux modules fournisseurs d'informations Integration Services ont une interface utilisateur personnalisée qui implémente IDtsLogProviderUI et remplace la zone de texte Configuration dans la boîte de dialogue Configurer les journaux SSIS par la liste déroulante filtrée des gestionnaires de connexions disponibles. Toutefois, les interfaces utilisateur personnalisées des modules fournisseurs d'informations personnalisés ne sont pas implémentées dans Integration Services.
Application de l'attribut DtsLogProvider
Appliquez l'attribut DtsLogProviderAttribute à la classe que vous avez créée pour l'identifier en tant que module fournisseur d'informations. Cet attribut fournit des informations de conception, telles que le nom et la description du module fournisseur d'informations. Les propriétés DisplayName et Description de l'attribut correspondent aux colonnes Nom et Description qui apparaissent dans l'éditeur Configurer les journaux SSIS, qui s'affiche lors de la configuration de la journalisation d'un package dans Business Intelligence Development Studio.
Important
La propriété LogProviderType de l'attribut n'est pas utilisée. Toutefois, vous devez entrer une valeur pour cette propriété, sans quoi le module fournisseur d'informations personnalisé n'apparaîtra pas dans la liste des modules fournisseurs d'informations disponibles.
[!REMARQUE]
Étant donné que les interfaces utilisateur personnalisées des modules fournisseurs d'informations personnalisés ne sont pas implémentées dans Integration Services, la spécification d'une valeur pour la propriété UITypeName de l'objet DtsLogProviderAttribute n'a aucun effet.
<DtsLogProvider(DisplayName:="MyLogProvider", Description:="A simple log provider.", LogProviderType:="Custom")> _
Public Class MyLogProvider
Inherits LogProviderBase
' TODO: Override the base class methods.
End Class
[DtsLogProvider(DisplayName="MyLogProvider", Description="A simple log provider.", LogProviderType="Custom")]
public class MyLogProvider : LogProviderBase
{
// TODO: Override the base class methods.
}
Génération, déploiement et débogage d'un module fournisseur d'informations personnalisé
Les étapes permettant de générer, déployer et déboguer un module fournisseur d'informations personnalisé dans Integration Services sont très similaires à celles 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.
|