Exemple EmailLogProvider

Nouveau : 14 avril 2006

L'exemple EmailLogProvider présente comment créer un module fournisseur d'informations personnalisé, le module fournisseur d'informations de messagerie, qui envoie la sortie d'enregistrement sous forme de message électronique au format texte brut ou HTML. Cet exemple n'est pas pris en charge sur des systèmes d'exploitation Itanium.

Pour plus d'informations sur la manière de créer un module fournisseur d'informations personnalisé, consultez Creating a Custom Log Provider. Pour obtenir des informations générales sur l'utilisation des modules fournisseurs d'informations dans Integration Services, consultez Modules fournisseurs d'informations d'Integration Services.

Le module fournisseur d'informations personnalisé attend une liste de chaînes séparées par des points-virgules, qui spécifient le serveur SMTP, l'adresse À, l'adresse De et si le message est au format texte ou HTML. Il met en cache les événements enregistrés, et lorsque l'exécution prend fin, envoie la sortie mise en cache dans le corps d'un message électronique. Il ignore les deux colonnes standard finales (dataCode et dataBytes) qui peuvent contenir des données binaires qui ne peuvent pas être affichées correctement. L'exemple encapsule le code d'enregistrement de texte dans une classe TextLogWriter distincte et le code d'enregistrement HTML dans une classe HtmlLogWriter distincte, pour pouvoir les réutiliser aisément. Chacune de ces classes d'assistance possède des sous-routines OpenLog<format>, Log<format> et CloseLog<format>, qui sont appelées à partir de OpenLog, de Log et de CloseLog respectivement.

Cet exemple de code implémente les fonctionnalités suivantes :

  • Remplacement de la classe LogProviderBase.
  • Prise en charge de la persistance par défaut qui ne requiert pas l'écriture d'un code de persistance personnalisé par le développeur.
ms365179.note(fr-fr,SQL.90).gifImportant :
Les exemples sont fournis à titre éducatif uniquement. 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

Cet exemple nécessite l'installation des composants suivants.

  • Microsoft Visual Studio 2005
  • Microsoft SQL Server 2005 Integration Services

L'exemple nécessite également un serveur SMTP disponible pour les fonctionnalités de messagerie.

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\EmailLogProvider 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 pas encore généré de fichier de clé de nom fort dans le dossier Samples, procédez de la façon suivante pour le générer. 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 de Microsoft Visual Studio 2005, cliquez sur Démarrer, pointez successivement sur Tous les programmes, sur Microsoft Visual Studio 2005 et sur Outils Visual Studio, puis cliquez sur Invite de commandes de Visual Studio 2005.

    - ou -

    Pour ouvrir l'invite de commandes de Microsoft .NET Framework, cliquez sur Démarrer, pointez sur Tous les programmes et sur Kit de développement Microsoft .NET Framework SDK v2.0, puis cliquez sur Invite de commandes du Kit de développement SDK.

  2. À l'invite de commandes, utilisez la commande cd (Change Directory) pour ouvrir le dossier Samples dans l'invite de commandes. Le fichier de clé que vous créez dans ce dossier sera utilisé par tous les exemples de code SQL Server 2005.

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

    sn -k SampleKey.snk
    
    ms365179.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.

Pour générer l'exemple dans Microsoft Visual Studio 2005

  1. Dans le menu Fichier | Ouvrir, cliquez sur Projet, puis ouvrez le fichier EmailLogProviderVB.sln ou EmailLogProviderCS.sln.

  2. Dans le menu Générer, cliquez sur Générer la solution pour générer la solution.

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 est ajouté à la fin du nom de l'assembly de sortie. Après avoir généré le composant, effectuez les étapes suivantes pour l'ajouter en tant que gestionnaire de connexions dans un package dans Business Intelligence Development Studio.

Pour copier le composant dans le dossier Connections

  1. Ouvrez l'Explorateur Windows ou l'application de votre choix pour travailler dans le système de fichiers.

  2. Copiez l'assembly (EmailLogProviderCS.dll ou EmailLogProviderVB.dll) dans le dossier LogProviders qui se trouve à l'emplacement suivant %system%\Program Files\Microsoft SQL Server\90\DTS.

Pour installer le composant dans le GAC (Global Assembly Cache) en faisant glisser-déplacer les assemblys

  1. Ouvrez l'Explorateur Windows ou l'application de votre choix pour travailler dans le système de fichiers.

  2. Faites glisser l'assembly du dossier LogProviders vers le dossier dans lequel se trouve le Global Assembly Cache (GAC), dans %system%\assembly.

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

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

  2. Tapez les commandes suivantes pour installer la version C# du composant dans le Global Assembly Cache :

    gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\EmailLogProvider Sample\CS\EmailLogProviderCS\bin\Debug\EmailLogProviderCS.dll"
    

    - ou -

    Tapez les commandes suivantes pour installer la version Visual Basic du composant dans le Global Assembly Cache :

    gacutil.exe -iF " C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Programming Samples\Control Flow\EmailLogProvider Sample\VB\EmailLogProviderVB\bin\Debug\EmailLogProviderVB.dll"
    

Test de l'exemple

Vous pouvez désormais tester le module fournisseur d'informations personnalisé dans un package.

Pour utiliser le module fournisseur d'informations personnalisé dans un package

  1. Confirmez le nom d'un serveur SMTP disponible.

  2. Dans le menu SSIS, sélectionnez Enregistrement et ajoutez le module fournisseur d'informations personnalisé pour les messages électroniques (CS) ou le module fournisseur d'informations personnalisé pour les messages électroniques (VB). Vous pouvez configurer deux instances du module fournisseur d'informations de manière à pouvoir tester les formats de sortie texte et HTML.

  3. Dans la colonne Configuration, entrez une liste de quatre chaînes séparées par des points-virgules, qui spécifient le serveur SMTP, l'adresse À, l'adresse De et si le message est au format texte ou HTML. Exemple :

    smtpserver;joe@northwind.com;joe@northwind.com;html
    
  4. Configurez l'enregistrement de manière appropriée, de sorte que le package et ses composants enregistrent leurs événements dans le module fournisseur d'informations personnalisé.

  5. Exécutez le package, puis affichez les messages électroniques qui contiennent la sortie d'enregistrement dans votre programme de messagerie.