Share via


EmailLogProvider-Beispiel

Neu: 14. April 2006

Das E-MailLogProvider-Beispiel zeigt, wie Sie einen benutzerdefinierten Protokollanbieter erstellen, den E-Mail-Protokollanbieter, der die Protokollausgabe entweder im Nur-Text-Format oder im HTML-Format als E-Mail-Nachricht sendet. Dieses Beispiel wird nicht auf Itanium-basierten Betriebssystemen unterstützt.

Weitere Informationen zum Erstellen eines benutzerdefinierten Protokollanbieters finden Sie unter Creating a Custom Log Provider. Allgemeine Informationen zum Verwenden von Protokollanbietern in Integration Services finden Sie unter SQL Server Integration Services-Protokollanbieter.

Der benutzerdefinierte Protokollanbieter erwartet eine durch Semikolons getrennte Liste von Zeichenfolgen, durch die der SMTP-Server, die Empfängeradresse, die Absenderadresse sowie das Format der Nachricht (Text oder HTML) angegeben werden. Der Protokollanbieter speichert protokollierte Ereignisse im Cache und sendet nach Ausführen des Pakets die im Cache gespeicherte Ausgabe im Nachrichtenkörper der E-Mail-Nachricht. Die letzten zwei Standardspalten (dataCode und dataBytes) werden dabei ignoriert, da sie möglicherweise Binärdaten enthalten, die nicht richtig angezeigt werden können. Das Beispiel kapselt den Textprotokollierungscode in einer separaten TextLogWriter-Klasse, und den HTML-Protokollierungscode in einer separaten HtmlLogWriter-Klasse, um die Wiederverwendung zu vereinfachen. Jede dieser Hilfsklassen verfügt über OpenLog<format>-, Log<format>- und CloseLog<format>-Unterroutinen, die aus OpenLog, Log bzw. CloseLog aufgerufen werden.

Das Codebeispiel implementiert die folgende Funktionalität:

  • Außerkraftsetzen der LogProviderBase-Klasse.
  • Unterstützung der Standarddauerhaftigkeit, sodass der Entwickler nicht gezwungen ist, benutzerdefinierten Persistenzcode zu schreiben.
ms365179.note(de-de,SQL.90).gifWichtig:
Die Beispiele dienen nur zu Lernzwecken. Sie sind nicht für den Einsatz in einer Produktionsumgebung gedacht und wurden auch nicht in einer Produktionsumgebung getestet. Microsoft leistet keinen technischen Support für diese Beispiele.

Ausführen des Beispiels

Wenn Ihnen bereits bekannt ist, wie Codebeispiele gefunden, erstellt und installiert werden, können Sie direkt zum Abschnitt Testen des Beispiels wechseln. Dort erhalten Sie Informationen zum Konfigurieren und Ausführen des Codebeispiels.

Voraussetzungen

Für dieses Beispiel müssen die folgenden Komponenten installiert sein.

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

Zur Sicherstellung der E-Mail-Funktionalität ist für dieses Beispiel auch ein verfügbarer SMTP-Server erforderlich.

Speicherort

Wenn das Codebeispiel am Standardspeicherort installiert wurde, ist das Beispiel in folgendem Verzeichnis gespeichert:

C:\Programme\Microsoft SQL Server\100\Samples\Integration Services\\Programming Samples\Control Flow\EmailLogProvider Sample

Die C#-Lösung für das Codebeispiel ist im CS-Verzeichnis und die Visual Basic-Lösung im VB-Verzeichnis gespeichert.

Weitere Informationen zu dem zwei Schritte umfassenden Prozess der Installation von Beispielen finden Sie unter Installieren von Beispielen. Wenn Sie die aktuelle Version der Beispiele erhalten möchten, einschließlich neuer Beispiele, die nach der ursprünglichen Version von SQL Server 2005 veröffentlicht wurden, finden Sie entsprechende Informationen unter SQL Server 2005 Samples and Sample Databases (April 2006) (in Englisch).

Erstellen des Beispiels

Wenn Sie noch keine Schlüsseldatei mit starkem Namen im Ordner Samples generiert haben, müssen Sie diese Datei mit dem folgenden Verfahren erstellen. Die Beispielprojekte werden auf der Registerkarte Signierung des Dialogfeldes Projekteigenschaften so konfiguriert, dass die Assemblys bei der Erstellung mit dieser Schlüsseldatei signiert werden.

So erstellen Sie eine Schlüsseldatei mit starkem Namen

  1. Klicken Sie zum Öffnen einer Microsoft Visual Studio 2005-Eingabeaufforderung auf Start, zeigen Sie auf Alle Programme, Microsoft Visual Studio 2005, Visual Studio Tools, und klicken Sie dann auf Visual Studio 2005-Eingabeaufforderung.

    - Oder -

    Klicken Sie zum Öffnen einer Microsoft .NET Framework-Eingabeaufforderung auf Start, zeigen Sie auf Alle Programme, Microsoft .NET Framework SDK v2.0, und klicken Sie dann auf SDK-Eingabeaufforderung.

  2. Wechseln Sie an der Eingabeaufforderung mit dem Befehl CD (Verzeichnis wechseln) vom aktuellen Ordner im Eingabeaufforderungsfenster zum Ordner Samples. Die Schlüsseldatei, die Sie in diesem Ordner erstellen, wird von allen SQL Server 2005-Codebeispielen verwendet.

    ms365179.note(de-de,SQL.90).gifHinweis:
    Klicken Sie auf Start, zeigen Sie auf Alle Programme, Microsoft SQL Server 2005 und Documentation and Tutorials, und klicken Sie dann auf Sample, um den Ordner zu bestimmen, in dem die Beispiele gespeichert sind. Wenn für die Installation das Standardverzeichnis verwendet wurde, befinden sich die Beispiele im Ordner <system_drive>:\Programme\Microsoft SQL Server\90\Samples.
  3. Geben Sie an der Eingabeaufforderung den folgenden Befehl zum Erstellen der Schlüsseldatei ein:

    sn -k SampleKey.snk
    
    ms365179.note(de-de,SQL.90).gifWichtig:
    Weitere Informationen zum Schlüsselpaar mit starkem Namen finden Sie unter "Security Briefs: Starke Namen und Sicherheit im .NET Framework" unter .NET-Entwicklung auf MSDN.

So erstellen Sie das Beispiel in Microsoft Visual Studio 2005

  1. Klicken Sie im Menü Datei auf Öffnen, klicken Sie auf Projekt, und öffnen Sie dann EmailLogProviderVB.sln oder EmailLogProviderCS.sln.

  2. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

Installieren des Beispiels

Das Beispiel liegt sowohl in einer Visual Basic- als auch in einer C#-Version vor. Um die Assemblys der jeweiligen Version des Beispiels zu unterscheiden, wird CS oder VB an den Namen der Ausgabeassembly angefügt. Führen Sie nach dem erfolgreichen Erstellen der Komponente die folgenden Schritte aus, um in Business Intelligence Development Studio die Komponente als Verbindungs-Manager in einem Paket hinzuzufügen.

So kopieren Sie die Komponente in den Ordner Verbindungen

  1. Öffnen Sie Windows-Explorer bzw.die Anwendung, mit der Sie üblicherweise im Dateisystem arbeiten.

  2. Kopieren Sie die Assembly (EmailLogProviderCS.dll oder EmailLogProviderVB.dll) in den Ordner LogProviders, der sich unter %system%\Programme\Microsoft SQL Server\90\DTS befindet.

So installieren Sie die Komponente im globalen Assemblycache (GAC) durch Ziehen der Assemblys mit der Maus

  1. Öffnen Sie Windows-Explorer bzw.die Anwendung, mit der Sie üblicherweise im Dateisystem arbeiten.

  2. Ziehen Sie die Assembly aus dem Ordner LogProviders in den Ordner, in dem sich der globale Assemblycache (GAC) befindet, unter %system%\assembly.

So installieren Sie die Komponente im globalen Assemblycache (GAC) mithilfe von gacutil.exe

  1. Öffnen Sie ein Eingabeaufforderungsfenster.

  2. Geben Sie die folgenden Befehle ein, um die C#-Version der Komponente im GAC zu installieren:

    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"
    

    - Oder -

    Geben Sie die folgenden Befehle ein, um die Visual Basic-Version der Komponente im GAC zu installieren:

    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"
    

Testen des Beispiels

Sie können nun den benutzerdefinierten Protokollanbieter in einem Paket testen.

So verwenden Sie den Beispielprotokollanbieter in einem Paket

  1. Bestätigen Sie den Namen eines verfügbaren SMTP-Servers.

  2. Wählen Sie im Menü SSIS die Option Protokollierung aus, und fügen Sie den benutzerdefinierten Protokollanbieter für E-Mail-Nachrichten (CS) bzw. den benutzerdefinierten Protokollanbieter für E-Mail-Nachrichten (VB) hinzu. Sie können auch zwei Instanzen des Protokollanbieters konfigurieren, wenn Sie sowohl das Text- als auch das HTML-Ausgabeformat testen möchten.

  3. Geben Sie in der Configuration-Spalte eine durch Semikolons getrennte Liste von Zeichenfolgen ein, durch die der SMTP-Server, die Empfängeradresse, die Absenderadresse sowie das Format der Nachricht (Text oder HTML) angegeben werden. Beispiel:

    smtpserver;joe@northwind.com;joe@northwind.com;html
    
  4. Konfigurieren Sie die Protokollierung so, dass das Paket und die zugehörigen Komponenten ihre Ereignisse im benutzerdefinierten Protokollanbieter protokollieren.

  5. Führen Sie das Paket aus, und zeigen Sie anschließend die E-Mail-Nachrichten, die die Protokollierungsausgabe enthalten, in Ihrem E-Mail-Programm an.