Informationen mit einem Skripttask in einem SQL Server 2005 Integration Services-Paket in das Anwendungsereignisprotokoll schreiben


Zusammenfassung


Wenn Sie Microsoft SQL Server Business Intelligence Development Studio ein Paket Microsoft SQL Server 2005 Integration Services (SSIS) erstellen, ist das SSIS-Paket eine Aufgabe gehören einen Skripttask.

Die Aufgabe kann z. B. eine Auflistung von Variablen in Windows-Anwendungsereignisprotokoll schreiben. Sie können ein SSIS-Paket erstellen, das einen Datenflusstask enthält. Dieser Datenflusstask enthält eine Zeilenanzahltransformation. Einen Skripttask können durch das Windows-Anwendungsereignisprotokoll Zeilenanzahltransformation aufgefüllt wurde geschrieben.

Dieser Artikel beschreibt, wie Sie einen Skripttask Informationen im Windows-Anwendungsereignisprotokoll schreiben.

Weitere Informationen


Es wird angenommen, dass Sie Folgendes in das SSIS-Paket erstellt haben:
  • Einen Datenflusstask
  • Skripttask
  • Ein Anschluss zwischen dem Datenflusstask Skripttask
  • In den Datenflusstask haben Sie eine Zeilenanzahltransformation im Datenfluss.
Beim Ausführen des Pakets gibt Zeilenanzahltransformation die Zeilendaten, die Sie im Windows-Anwendungsereignisprotokoll schreiben möchten.

Zu diesem Zweck in SQL Server Business Intelligence Development Studio folgendermaßen Sie vor:
  1. Wenn die Steuerung aktiv ist, mit der rechten Maustaste in der Entwurfsoberfläche und dann auf Variablen. Fenster " Variablen " wird im linken Bereich angezeigt.
  2. Klicken Sie im Fenster " Variablen " auf Variable hinzufügen , fügen Sie eine Variable mit dem Namen Mycount. Standardmäßig ist der Datentyp der neuen Mycount-Variablen Int32.

    Hinweis Verweise auf Namen Groß-und Kleinschreibung.
  3. Doppelklicken Sie auf dem Datenflusstask . Die
    Datenfluss erscheint.
  4. Doppelklicken Sie auf Zeilenanzahltransformation . Erweiterter Editor -Dialogfeld wird angezeigt.
  5. Legen Sie den Wert der VariableName -Eigenschaft
    Mycount.
  6. Klicken Sie auf die Registerkarte Steuerung und doppelklicken Sie dann auf den Skripttask. Das Skripttask-Editor -Dialogfeld wird angezeigt.
  7. Klicken Sie im linken Bereich Skript , und ändern Sie den Wert der ReadOnlyVariables -Eigenschaft auf folgenden Wert:
    PackageName,StartTime,ExecutionInstanceGUID,mycount
    Hinweis Der Paketname, StartTime und ExecutionInstanceGUID sind Variablen. Diese Systemvariablen wird die Paketinformationen in das Windows-Anwendungsereignisprotokoll schreiben.
  8. In der
    Skripttask-Editor -Dialogfeld auf Skript entwerfen.
  9. Stellen Sie sicher, dass die folgenden Namespaces in Ihrem Code vor allen anderen Deklarationen enthalten sind:
    Imports System
    Imports System.Data
    Imports System.Math
    Imports System.Diagnostics
    Imports Microsoft.SqlServer.Dts.Runtime
  10. Eine neue Microsoft Visual Studio für Applikationen Fenster ersetzen Sie im folgenden Codebeispiel wird mit dem Code in der Methode 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. Schließen Sie Microsoft Visual Studio für die Anwendung .
  12. In der
    Skripttask-Editor -Dialogfeld auf OK.
  13. Drücken Sie F5 , um das Paket auszuführen.
Wenn das Paket erfolgreich ausgeführt wird, Informationen, die der folgenden ähnelt in das Windows-Anwendungsereignisprotokoll angezeigt:

Referenzen


Weitere Informationen finden Sie unter den folgenden Themen in der Microsoft SQL Server 2005-Onlinedokumentation:
  • Skript-Task
  • Den Skripttask Programmierung
  • Gewusst wie: Festlegen von Eigenschaften mit einem Task-Editor
Weitere Informationen dazu, wie Sie mithilfe von Microsoft Visual Basic Windows-Anwendungsereignisprotokoll schreiben, besuchen folgende Website von Microsoft Developer Network (MSDN):