Kuidas kirjutada teavet rakenduse sündmuselogisse, kasutades skripti ülesande SQL Server 2005 integratsiooni teenuste pakett


Kokkuvõte


Kui kasutate Microsoft SQL Server 2005 integratsiooni teenuste (SSIS) paketi loomiseks Microsoft SQL Server Business Intelligence Development Studio, saate lisada skripti ülesande SSIS paketi ülesanne.

Näiteks võib ülesande kirjutada Windows rakenduse sündmuselogisse muutuv teabe kogumine. Saate luua SSIS pakett, mis sisaldab andmeid Flow task. See andmevoo ülesanne sisaldab ridade arvu transformatsiooni. Ülesannet skripti abil saate kirjutada andmeid, mis oli asustatud ridade arvu transformatsiooni Windows rakenduselogisse sündmuse.

Selles artiklis kirjeldatakse, kuidas kasutada skripti ülesande kirjutada teavet Windowsi rakenduse sündmuselogisse.

Lisateabe saamiseks


Selles näites eeldatakse loonud SSIS paketi järgmist:
  • Andmevoo ülesanne
  • Skripti ülesanne
  • Andmevoo ülesande liidesest skripti ülesanne
  • Andmevoo ülesande loodud ridade arvu muutus andmevoo.
Kui käivitate pakett, tagastab ridade arvu transformatsiooni rea arvu andmed, mida soovite kirjutada Windows rakenduse sündmuselogisse.

Selleks toimige järgmiselt on SQL Server Business Intelligence Development Studio.
  1. Kui Juhtelemendi Flow menüü on aktiivne, paremklõpsake konstruktsioonipind ja klõpsake muutujaid. Klõpsake vasakul paanil kuvatakse aken muutujaid .
  2. Klõpsake aknas muutujate lisamine muutuja muutuja, mille nimi on mycount lisamiseks. Vaikimisi on uus mycount muutuja andmetüüp Int32.

    Märkus. Muutujate nimed on tõstutundlik.
  3. Topeltklõpsake Andmevoo ülesanne. Selle
    Andmevoo vahekaart kuvatakse.
  4. Topeltklõpsake transformatsiooni Ridade arvu . Kuvatakse dialoogiboks Täpsem redaktor .
  5. VariableName atribuudi väärtus
    mycount.
  6. Klõpsake vahekaarti Juhtelemendi Flow ja seejärel topeltklõpsake Skripti ülesanne. Kuvatakse dialoogiboks Skriptiredaktor ülesanne .
  7. Klõpsake vasakul paanil üksust skripti ja seejärel muutke ReadOnlyVariables atribuudi väärtus järgmine väärtus:
    PackageName,StartTime,ExecutionInstanceGUID,mycount
    Märkus. Paketi nimi ning StartTime ExecutionInstanceGUID üksused on süsteemi muutujad. Nende süsteemi muutujaid kasutatakse kirjutada pakett teavet Windowsi rakenduse sündmuselogisse.
  8. In the
    Ülesande skriptiredaktor dialoogiboksis klõpsake Kujundus skripti.
  9. Veenduge, et enne muude deklaratsioonide koodi sisalduvad järgmised nimeruumid.
    Imports System
    Imports System.Data
    Imports System.Math
    Imports System.Diagnostics
    Imports Microsoft.SqlServer.Dts.Runtime
  10. Uute Rakenduste Microsoft Visual Studio akna kuvamisel asendage järgmine kood näidis meetod Main() koodi.
    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. Sulgege Microsoft Visual Studio rakenduse aken.
  12. In the
    Ülesande skriptiredaktor dialoogiboksis nuppu OK.
  13. Vajutage klahvi F5 käivitada pakett.
Kui pakett, käivitub edukalt, kuvatakse Windowsi rakenduse sündmuselogisse teavet, mis sarnaneb järgmisega:

Viited


Lisateabe saamiseks vaadake Microsoft SQL Server 2005 võrguraamatute järgmisi teemasid:
  • Skripti ülesanne
  • Programmeerimine skript ülesanne
  • Kuidas: Seadke ülesande atribuudid ülesande redaktori kasutamine
Microsoft Visual Basic abil Windowsi rakenduse sündmuste logisse kirjutamise kohta lisateabe saamiseks külastage järgmist Microsoft Developer Networki (MSDN) veebisaiti: