Jak zapisovat informace do protokolu událostí aplikace pomocí skriptu úkolu v balíčku SQL Server 2005 Integration Services

Souhrn

Pokud používáte Microsoft SQL Server Business Intelligence Development Studio k vytvoření balíčku Microsoft SQL Server 2005 Integration Services (SSIS), můžete zahrnout skript úkolu v balíčku SSIS spustit úlohu.

Například úkol může napsat kolekce proměnných informací do protokolu událostí aplikací systému Windows. Můžete vytvořit SSIS balíček, který obsahuje tok dat úkolu. Tento úkol toku dat obsahuje transformace počet řádků. Skript úkolu můžete použít pro zápis dat, který byl obsazen transformace počet řádků do protokolu událostí aplikací systému Windows.

Tento článek popisuje, jak zapisovat informace do protokolu událostí aplikací systému Windows pomocí skriptu úkolu.

Další informace

Tento příklad předpokládá, že jste vytvořili následující prvky v balíčku SSIS:
  • Úloha toku dat
  • Skript úkolu
  • Spojnice z úkolu tok dat úkolu skriptu
  • V úkolu toku dat vytvořené v tok dat transformace počet řádků.
Po spuštění balíček vrátí transformace počet řádků dat počtu řádků, které chcete zapisovat do protokolu událostí aplikací systému Windows.

Chcete-li to provést, postupujte takto v SQL Server Business Intelligence Development Studio:
  1. Pokud je aktivní karta Tok řízení , klepněte pravým tlačítkem myši na návrhovou plochu a potom klepněte na tlačítko proměnné. V levém podokně se zobrazí okno proměnné .
  2. V okně proměnné klepněte na tlačítko Přidat proměnnou s názvem mycount Přidat proměnnou . Ve výchozím nastavení je datový typ proměnné nové mycount Int32.

    Poznámka: Odkazy na názvy proměnných jsou velká a malá písmena.
  3. Poklepejte na úkol Toku dat . Na
    Zobrazí se karta Datový tok .
  4. Poklepejte na panel Transformace Počet řádků . Zobrazí se dialogové okno Upřesnit .
  5. Nastavte hodnotu VariableName vlastnost
    mycount.
  6. Klepněte na tlačítko Tok řízení kartu a potom poklepejte na Úkol skript. Zobrazí se dialogové okno Editoru úloh .
  7. Klepněte na položku skript v levém podokně a potom změňte hodnotu vlastnosti ReadOnlyVariables na následující hodnotu:
    PackageName,StartTime,ExecutionInstanceGUID,mycount
    Poznámka: Jsou položky název balíčku, StartTime a ExecutionInstanceGUID systémové proměnné. Tyto systémové proměnné se používají k zápisu do protokolu událostí aplikace Windows informace o balíčku.
  8. V
    Dialogové okno Editoru úloh klepněte na tlačítko Návrh skriptu.
  9. Ujistěte se, že jsou zahrnuty následující obory názvů v kódu před všemi ostatními deklaracemi:
    Imports SystemImports System.Data
    Imports System.Math
    Imports System.Diagnostics
    Imports Microsoft.SqlServer.Dts.Runtime
  10. Jakmile se zobrazí nové okno Aplikace Microsoft Visual Studio pro aplikace , následující ukázka kódu nahraďte kód v metodě 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. Zavřete okno Aplikace Microsoft Visual Studio .
  12. V
    Dialogové okno Editoru úloh klepněte na tlačítko OK.
  13. Stisknutím klávesy F5 ke spuštění balíčku.
Úspěšné spuštění balíčku se zobrazí informace podobné následujícím v protokolu událostí aplikace systému Windows:

Odkazy

Další informace naleznete v následujících tématech Microsoft SQL Server 2005 Books Online:
  • Skript úkolu
  • Programovací úlohy skriptu
  • Postup: nastavení vlastností úloh pomocí editoru úloh
Další informace o tom, jak zapsat do protokolu událostí aplikací systému Windows pomocí jazyka Microsoft Visual Basic naleznete následujícím webu Microsoft Developer Network (MSDN):
Vlastnosti

ID článku: 906560 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor