Włączanie rejestrowania programowo
The run-time engine provides a collection of LogProvider objects that enable event-specific information to be captured during package validation and execution.LogProvider objects are available to DtsContainer objects, including the TaskHost, Package, ForLoop, and ForEachLoop objects.Indywidualne pojemniki lub cały pakiet jest włączone rejestrowanie.
Istnieje kilka typów dziennika dostawców, którzy są dostępni dla kontener do używania.Zapewnia elastyczność tworzenia i przechowywania informacji dziennika w wielu formatach.Rejestrowanie obiekt kontener podczas rejestrowania jest procesem dwuetapowym: najpierw rejestrowanie jest włączone, a następnie wybrano dostawca dziennika.LoggingOptions i LoggingMode Właściwości kontener są używane do określania zarejestrowane zdarzenia i wybierz dostawca dziennika.
Włączanie rejestrowania
LoggingMode Właściwość znalezione w każdym kontenerze, które może wykonać rejestrowania, określa, czy kontener zdarzenie informacje są zapisywane do zdarzenie możnaWłaściwość ta jest przypisywana wartość z DTSLoggingMode struktury i jest dziedziczone z nadrzędnego kontener domyślnieJeśli kontener jest pakiet i dlatego nie ma obiektu nadrzędnego, korzysta z właściwość UseParentSetting, które domyślnie Disabled.
Wybieranie dostawcy dziennika
Po LoggingMode właściwość jest zestaw do Enabled, dostawca dziennika jest dodawany do SelectedLogProviders kolekcja kontener do ukończenia procesu.SelectedLogProviders kolekcja jest dostępny na LoggingOptions obiektów i zawiera włączeni wybranego kontener.Add Wywoływana jest metoda utworzyć dostawca i dodać go do kolekcja.Następnie metoda zwróci dostawca dziennika, który został dodany do kolekcja.Każdy dostawca ma konfigurację zestawtings, które są unikatowe dla tego dostawcy i te właściwość są zestaw za pomocą ConfigString właściwość.
Następująca tabela zawiera listę dostępnych dostawców, ich opis i ich ConfigString informacji.
Dostawca |
Opis |
Właściwość Ciąg_konfiguracji |
---|---|---|
SQL Server Profiler |
Generuje śladów SQL, które przechwycone i wyświetlać w SQL Server Profiler.Domyślne rozszerzenie nazwy pliku dla tego dostawca jest TRC. |
Konfiguracja nie jest wymagane. |
SQL Server |
Zapisuje zdarzenie zapisy do dziennika sysssislog tabela w dowolnym SQL Server bazy danych. |
SQL Server Dostawca wymaga określenia połączenia z bazą danych, a także nazwa bazy danych miejsce docelowe. |
Plik tekstowy |
Zapisuje zdarzenie rejestrowania wpisów w plikach tekstowych ASCII w formacie wartości rozdzielanych przecinkami (CSV).To domyślne rozszerzenie nazwy pliku dla tego dostawca. dziennika. |
Nazwa menedżer połączeń do pliku. |
Dziennik zdarzeń systemu Windows |
Rejestrowanie dzienniki do standardowego dziennika zdarzeń systemu Windows na komputerze lokalnym w aplikacji. |
Konfiguracja nie jest wymagane. |
Plik XML |
Zapisuje zdarzenie pliku w formacie wpisów dziennika do pliku XML.XML jest domyślne rozszerzenie nazwy pliku dla tego dostawca. |
Nazwa menedżer połączeń do pliku. |
zdarzenie są włączone lub wyłączone z dziennika zdarzeń, ustawiając EventFilterKind i EventFilter Właściwości kontener.EventFilterKind Struktura zawiera dwie wartości, ExclusionFilter i InclusionFilter, który wskazuje, czy zdarzenie są dodawane do EventFilter znajdują się zdarzeń możnaEventFilter Przypisywana właściwość ciąg tablicy, która zawiera nazwy zdarzenia, które są przedmiotem filtrowania.
Poniższy kod umożliwia rejestrowanie pakiet, dodaje dostawca dziennika dla plików tekstowych do SelectedLogProviders kolekcja i określa listę zdarzeń, które mają zostać uwzględnione w danych wyjściowych rejestrowania.
Przykład
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace Microsoft.SqlServer.Dts.Samples
{
class Program
{
static void Main(string[] args)
{
Package p = new Package();
ConnectionManager loggingConnection = p.Connections.Add("FILE");
loggingConnection.ConnectionString = @"C:\SSISPackageLog.txt";
LogProvider provider = p.LogProviders.Add("DTS.LogProviderTextFile.2");
provider.ConfigString = loggingConnection.Name;
p.LoggingOptions.SelectedLogProviders.Add(provider);
p.LoggingOptions.EventFilterKind = DTSEventFilterKind.Inclusion;
p.LoggingOptions.EventFilter = new String[] { "OnPreExecute",
"OnPostExecute", "OnError", "OnWarning", "OnInformation" };
p.LoggingMode = DTSLoggingMode.Enabled;
// Add tasks and other objects to the package.
}
}
}
Imports Microsoft.SqlServer.Dts.Runtime
Module Module1
Sub Main()
Dim p As Package = New Package()
Dim loggingConnection As ConnectionManager = p.Connections.Add("FILE")
loggingConnection.ConnectionString = "C:\SSISPackageLog.txt"
Dim provider As LogProvider = p.LogProviders.Add("DTS.LogProviderTextFile.2")
provider.ConfigString = loggingConnection.Name
p.LoggingOptions.SelectedLogProviders.Add(provider)
p.LoggingOptions.EventFilterKind = DTSEventFilterKind.Inclusion
p.LoggingOptions.EventFilter = New String() {"OnPreExecute", _
"OnPostExecute", "OnError", "OnWarning", "OnInformation"}
p.LoggingMode = DTSLoggingMode.Enabled
' Add tasks and other objects to the package.
End Sub
End Module
|
Zobacz także