Freigeben über


HtmlLogProvider-Beispiel

Neu: 14. April 2006

Das HtmlLogProvider-Beispiel zeigt, wie Sie einen benutzerdefinierten Protokollanbieter erstellen, den HTML-Protokollanbieter, mit dem die Protokollausgabe an ein HTML-Dokument gesendet wird.

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 bezieht den Namen einer Zieldatei mit der Dateierweiterung .htm oder .html von einem vorhandenen Dateiverbindungs-Manager. Der Protokollanbieter gibt protokollierte Ereignisse an eine HTML-Tabelle in der angegebenen Zieldatei aus. Dabei werden die letzten zwei Standardspalten (dataCode und dataBytes) ignoriert, da diese möglicherweise Binärdaten enthalten, die in einem HTML-Dokument nicht richtig angezeigt werden können. Das Beispiel kapselt den HTML-Protokollierungscode in einer separaten HtmlLogWriter-Klasse, um die Wiederverwendung zu vereinfachen. Diese Hilfsklasse verfügt über OpenLogHtml-, LogHtml- und CloseLogHtml-Unterroutinen, die aus OpenLog, Log bzw. CloseLog aufgerufen werden. Dieses Beispiel wird nicht auf Itanium-basierten Betriebssystemen unterstützt.

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.
ms365184.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

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\HtmlLogProvider 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, erstellen Sie diese Datei mit dem folgenden Verfahren. 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.

    ms365184.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
    
    ms365184.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 HtmlLogProviderVB.sln oder HtmlLogProviderCS.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 (HtmlLogProviderCS.dll oder HtmlLogProviderVB.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 Drag und Drop der Assemblys

  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 mit dem globalen Assemblycache (GAC) 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\HtmlLogProvider Sample\CS\HtmlLogProviderCS\bin\Debug\HtmlLogProviderCS.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\HtmlLogProvider Sample\VB\HtmlLogProviderVB\bin\Debug\HtmlLogProviderVB.dll"
    

Testen des Beispiels

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

So verwenden Sie den Beispielprotokollanbieter in einem Paket

  1. Fügen Sie in einem Integration Services-Projekt einen neuen Dateiverbindungs-Manager hinzu, und konfigurieren Sie ihn so, dass er auf eine Datei mit der Dateierweiterung **.**htm oder **.**html zeigt.

  2. Wählen Sie im Menü SSIS die Option Protokollierung aus, und fügen Sie den benutzerdefinierten Protokollanbieter für HTML-Dateien (CS) bzw. den benutzerdefinierten Protokollanbieter für HTML-Dateien (VB) hinzu.

  3. Geben Sie in der Configuration-Spalte den Namen aller Dateiverbindungs-Manager ein.

  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 öffnen Sie dann die HTML-Datei, um die Protokollausgabe anzuzeigen.