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:
-
Wenn die Steuerung aktiv ist, mit der rechten Maustaste in der Entwurfsoberfläche und dann auf Variablen. Fenster " Variablen " wird im linken Bereich angezeigt.
-
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. -
Doppelklicken Sie auf dem Datenflusstask . Die
Datenfluss erscheint. -
Doppelklicken Sie auf Zeilenanzahltransformation . Erweiterter Editor -Dialogfeld wird angezeigt.
-
Legen Sie den Wert der VariableName -Eigenschaft
Mycount. -
Klicken Sie auf die Registerkarte Steuerung und doppelklicken Sie dann auf den Skripttask. Das Skripttask-Editor -Dialogfeld wird angezeigt.
-
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.
-
In der
Skripttask-Editor -Dialogfeld auf Skript entwerfen. -
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 -
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 -
Schließen Sie Microsoft Visual Studio für die Anwendung .
-
In der
Skripttask-Editor -Dialogfeld auf OK. -
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):