Erstellen eines benutzerdefinierten Protokollanbieters
Die Integration Services-Laufzeitumgebung verfügt über umfangreiche Protokollierungsmöglichkeiten. Mit einem Protokoll können Sie Ereignisse erfassen, die während der Paketausführung auftreten. Integration Services enthält eine Palette von Protokollanbietern, über die Protokolle erstellt und in verschiedenen Formaten wie XML, in Textform, in Datenbanken oder im Windows-Ereignisprotokoll gespeichert werden können. Wenn einer dieser Anbieter oder eines der Ausgabeformate nicht Ihren Bedürfnissen entspricht, können Sie einen benutzerdefinierten Protokollanbieter erstellen.
Die Schritte zum Erstellen eines benutzerdefinierten Protokollanbieters ähneln denen zum Erstellen jedes anderen benutzerdefinierten Objekts für Integration Services:
Erstellen Sie eine neue Klasse, die von der Basisklasse erbt. Bei einem Protokollanbieter ist die Basisklasse LogProviderBase.
Weisen Sie das Attribut zu, das den Typ des Objekts für die Klasse identifiziert. Bei einem Protokollanbieter ist das Attribut DtsLogProviderAttribute.
Setzen Sie die Implementierung der Methoden und Eigenschaften der Basisklasse außer Kraft. Bei einem Protokollanbieter gehören dazu die ConfigString-Eigenschaft und die Methoden OpenLog, Log und CloseLog.
Individuelle Benutzeroberflächen für benutzerdefinierte Protokollanbieter werden in SQL Server Integration Services nicht implementiert.
Funktionstüchtige Beispiele für benutzerdefinierte Protokollanbieter finden Sie in den Integration Services-Beispielen unter Codeplex.
Erste Schritte mit einem benutzerdefinierten Protokollanbieter
Erstellen von Projekten und Klassen
Da alle verwalteten Protokollanbieter von der LogProviderBase-Basisklasse abgeleitet sind, besteht der erste Schritt beim Erstellen eines benutzerdefinierten Protokollanbieters darin, in Ihrer bevorzugten verwalteten Programmiersprache ein Klassenbibliotheksprojekt anzulegen und dann eine Klasse zu generieren, die von der Basisklasse erbt. In dieser abgeleiteten Klasse überschreiben Sie die Methoden und Eigenschaften der Basisklasse, um die benutzerdefinierten Funktionen zu implementieren.
Konfigurieren Sie das Projekt für das Signieren der Assembly, die mit einer Schlüsseldatei mit starkem Namen erzeugt wird.
Hinweis |
---|
Viele Integration Services-Protokollanbieter verfügen über eine benutzerdefinierte Oberfläche, die IDtsLogProviderUI implementiert und das Textfeld Konfiguration im Dialogfeld SSIS-Protokolle konfigurieren durch eine gefilterte Dropdownliste der verfügbaren Verbindungs-Manager ersetzt. Individuelle Benutzeroberflächen für benutzerdefinierte Protokollanbieter werden in Integration Services jedoch nicht implementiert. |
Zuweisen des 'DtsLogProvider'-Attributs
Weisen Sie das DtsLogProviderAttribute-Attribut der Klasse zu, die Sie erstellt haben, um sie als Protokollanbieter zu kennzeichnen. Dieses Attribut stellt Entwurfszeitinformationen bereit, z. B. Name und Beschreibung des Protokollanbieters. Die DisplayName-Eigenschaft und die Description-Eigenschaft des Attributs entsprechen den Spalten Typ und Beschreibung, die im Dialogfeld SSIS-Protokolle konfigurieren angezeigt werden. Das Dialogfeld wird beim Konfigurieren von Protokollen für ein Paket in Business Intelligence Development Studio geöffnet.
Wichtig |
---|
Die LogProviderType-Eigenschaft des Attributs wird nicht verwendet. Sie müssen jedoch einen Wert dafür eingeben, damit der benutzerdefinierte Protokollanbieter in der Liste der verfügbaren Protokollanbieter mit angezeigt wird. |
Hinweis |
---|
Da individuelle Benutzeroberflächen für benutzerdefinierte Protokollanbieter nicht in Integration Services implementiert werden, hat das Angeben eines Werts für die UITypeName-Eigenschaft von DtsLogProviderAttribute keinerlei Auswirkungen. |
<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.
}
Erstellen, Bereitstellen und Debuggen eines benutzerdefinierten Protokollanbieters
Die Schritte zum Erstellen, Bereitstellen und Debuggen eines benutzerdefinierten Protokollanbieters in Integration Services ähneln denen für andere Arten benutzerdefinierter Objekte stark. Weitere Informationen finden Sie unter Erstellen, Bereitstellen und Debuggen von benutzerdefinierten Objekten.
|