Jak zapisywać informacje w dzienniku zdarzeń aplikacji przy użyciu zadania skryptu w pakiecie programu SQL Server 2005 Integration Services


Streszczenie


Gdy Microsoft SQL Server Business Intelligence Development Studio umożliwia tworzenie pakietu Microsoft SQL Server 2005 Integration Services (SSIS), może zawierać zadania skryptu w pakietu SSIS do uruchomienia zadania.

Na przykład zadanie może tworzyć zbiór zmiennych informacji w dzienniku zdarzeń aplikacji systemu Windows. Można utworzyć pakietu SSIS, który zawiera zadanie przepływu danych. To zadanie przepływu danych zawiera transformacja liczba wierszy. Do zapisu danych, który został wypełniony przez transformacja liczba wierszy w dzienniku zdarzeń aplikacji systemu Windows, można użyć zadania skryptu.

W tym artykule opisano sposób użycia zadania skryptu do zapisywania informacji w dzienniku zdarzeń aplikacji systemu Windows.

Więcej informacji


W tym przykładzie założono, że użytkownik utworzył pakietu SSIS następujące elementy:
  • Zadanie przepływu danych
  • Zadania skryptu
  • Łącznik z zadania przepływu danych do zadania skryptu
  • W zadaniu przepływu danych utworzono transformacja liczba wierszy w przepływie danych.
Podczas wykonywania pakietu, transformacja liczba wierszy zwraca danych liczby wierszy, które mają być zapisane w dzienniku zdarzeń aplikacji systemu Windows.

Aby to zrobić, wykonaj następujące kroki w SQL Server Business Intelligence Development Studio:
  1. Gdy aktywna jest karta Przepływ sterowania , kliknij prawym przyciskiem myszy na powierzchnię projektu, a następnie kliknij zmiennych. W lewym okienku wyświetlane jest okno zmiennych .
  2. W oknie zmienne kliknij Dodaj zmienną , aby dodać zmienną o nazwie mycount. Domyślnie typ danych zmiennej nowego mycount jest Int32.

    Uwaga Odniesienia do nazwy zmiennych uwzględniają wielkość liter.
  3. Kliknij dwukrotnie zadanie Przepływu danych . Z
    Zostanie wyświetlona karta Przepływu danych .
  4. Kliknij dwukrotnie transformacja Liczba wierszy . Pojawi się okno dialogowe Edytor zaawansowany .
  5. Ustaw wartość właściwości VariableName do
    mycount.
  6. Kliknij kartę Przepływ sterowania , a następnie kliknij dwukrotnie ikonę Zadania skryptu. Zostanie wyświetlone okno dialogowe Edytor zadań skryptu .
  7. Kliknij element skryptu w okienku po lewej stronie, a następnie zmień wartość właściwości ReadOnlyVariables na następującą wartość:
    PackageName,StartTime,ExecutionInstanceGUID,mycount
    Uwaga Nazwa pakietu, czas rozpoczęcia i ExecutionInstanceGUID elementy są zmienne systemowe. Te zmienne systemowe są używane zapisać pakiet informacji w dzienniku zdarzeń aplikacji systemu Windows.
  8. W
    Okno dialogowe Edytor skryptów zadania kliknij Projekt skryptu.
  9. Upewnij się, że następujące obszary nazw są uwzględniane w kodzie przed wszelkimi innymi deklaracjami:
    Imports System
    Imports System.Data
    Imports System.Math
    Imports System.Diagnostics
    Imports Microsoft.SqlServer.Dts.Runtime
  10. Gdy pojawi się nowe okno Programu Microsoft Visual Studio dla aplikacji , należy zastąpić następujący przykładowy kod kod w metodzie Main() .
    Dim varMyCount As Variable = Dts.Variables("mycount") '
    Dim varPackageName As Variable = Dts.Variables("PackageName")
    Dim varStartTime As Variable = Dts.Variables("StartTime")
    Dim varInstanceID As Variable = Dts.Variables("ExecutionInstanceGUID")
    Dim PackageDuration As Long

    '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    ' Event log needs
    '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Dim sSource As String
    Dim sLog As String
    Dim sEventMessage As String
    Dim sMachine As String
    '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    PackageDuration = DateDiff("s", varStartTime.Value, Now())

    sSource = "RowCountReporting from SSIS"

    ' We need the message posted to the Application event log.

    sLog = "Application"
    sEventMessage = "Rows Processed: " & Chr(10) _
    & " case Rows:" + varMyCount.Value().ToString + Chr(10) _
    & "=============================================" & Chr(10) _
    & "The Package: " + varPackageName.Value().ToString _
    & Chr(10) _
    & "Started: " & varStartTime.Value().ToString _
    & Chr(10) _
    & "Current Time:" & System.DateTime.Now _
    & Chr(10) _
    & "=============================================" _
    & Chr(10) _
    & "Package Run Duration in seconds: " & PackageDuration _
    & Chr(10) _
    & "Execution GUID: " & varInstanceID.Value().ToString
    sMachine = "."

    If Not EventLog.SourceExists(sSource, sMachine) Then
    EventLog.CreateEventSource(sSource, sLog, sMachine)
    End If

    Dim ELog As New EventLog(sLog, sMachine, sSource)

    ELog.WriteEntry(sEventMessage, EventLogEntryType.Information, 777, 2)

    '###############################
    Dts.TaskResult = Dts.Results.Success
  11. Zamknij okno Programu Microsoft Visual Studio dla aplikacji .
  12. W
    Script Editor zadania okno dialogowe, kliknij przycisk OK.
  13. Naciśnij klawisz F5 , aby uruchomić pakiet.
Po pomyślnym uruchomieniu pakiet, w dzienniku zdarzeń aplikacji systemu Windows zostaną wyświetlone informacje podobne do następujących:

Powiązane artykuły


Aby uzyskać więcej informacji zobacz następujące tematy w Microsoft SQL Server 2005 Books Online:
  • Zadania skryptu
  • Programowanie zadania skryptu
  • Jak: Ustawianie właściwości zadania za pomocą edytora zadań
Aby uzyskać więcej informacji dotyczących sposobu zapisu do dziennika zdarzeń aplikacji systemu Windows przy użyciu programu Microsoft Visual Basic, odwiedź następującą witrynę Microsoft Developer Network (MSDN) w sieci Web: