Comment faire pour écrire des informations dans le journal des événements à l’aide d’une tâche de Script dans un package SQL Server 2005 Integration Services

Résumé

Lorsque vous utilisez Microsoft SQL Server Business Intelligence Development Studio pour créer un package de Microsoft SQL Server 2005 Integration Services (SSIS), vous pouvez inclure une tâche de Script dans le package SSIS pour exécuter une tâche.

Par exemple, la tâche peut écrire un ensemble d’informations variables pour le journal des événements Windows. Vous pouvez créer un package SSIS qui contient une tâche de flux de données. Cette tâche de flux de données comprend une nombre de lignes de transformation. Vous pouvez utiliser une tâche de Script pour écrire les données qui a été remplies par la transformation de nombre de lignes pour le journal des événements Windows.

Cet article décrit comment utiliser une tâche de Script pour écrire des informations dans le journal des événements Windows.

Plus d'informations

Cet exemple suppose que vous avez créé les éléments suivants dans le package SSIS :

  • Une tâche de flux de données

  • Une tâche de Script

  • Un connecteur à partir de la tâche de flux de données pour la tâche de Script

  • La tâche de flux de données, vous avez créé une transformation du nombre de lignes dans le flux de données.

Lorsque vous exécutez le package, la nombre de lignes de transformation renvoie les données de nombre de ligne que vous souhaitez écrire dans le journal des événements Windows.

Pour ce faire, procédez comme suit dans SQL Server Business Intelligence Development Studio :

  1. Lorsque l’onglet Flux de contrôle est actif, cliquez sur l’aire de conception, puis cliquez sur Variables. La fenêtre de Variables s’affiche dans le volet gauche.

  2. Dans la fenêtre de Variables , cliquez sur Ajouter pour ajouter une variable nommée mycount. Par défaut, le type de données de la nouvelle variable mycount est Int32.

    Remarque Références à des noms de variables respectent la casse.

  3. Double-cliquez sur la tâche de Flux de données . Le
    Onglet de Flux de données s’affiche.

  4. Double-cliquez sur la transformation de Nombre de lignes . La boîte de dialogue Éditeur avancé s’affiche.

  5. Définir la valeur de la propriété VariableName à
    mycount.

  6. Cliquez sur l’onglet Flux de contrôle , puis double-cliquez sur la Tâche de Script. La boîte de dialogue Éditeur de tâche de Script s’affiche.

  7. Cliquez sur l’élément de Script dans le volet gauche, puis modifiez la valeur de la propriété ReadOnlyVariables la valeur suivante :

    PackageName,StartTime,ExecutionInstanceGUID,mycount

    Remarque Les éléments PackageName, StartTime et ExecutionInstanceGUID sont des variables de système. Les variables système sont utilisées pour écrire les informations de package dans le journal des événements Windows.

  8. Dans le
    Boîte de dialogue Éditeur de tâche de script , cliquez sur Créer un Script.

  9. Assurez-vous que les espaces de noms suivants sont inclus dans votre code, avant toute autre déclaration :

    Imports System
    Imports System.Data
    Imports System.Math
    Imports System.Diagnostics
    Imports Microsoft.SqlServer.Dts.Runtime
  10. Lorsqu’une nouvelle fenêtre de Visual Studio de Microsoft pour les Applications s’affiche, remplacez l’exemple de code suivant par le code dans la méthode 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. Fermez la fenêtre Visual Studio de Microsoft pour l’Application .

  12. Dans le
    Boîte de dialogue Éditeur de tâche de script , cliquez sur OK.

  13. Appuyez sur F5 pour exécuter le lot.

Lorsque le package s’exécute correctement, des informations qui sont semblables à la suivante s’affiche dans le journal des événements Windows :

Références

Pour plus d’informations, consultez les rubriques suivantes dans la documentation en ligne de Microsoft SQL Server 2005 :

  • Tâche de script

  • Programmation de la tâche de Script

  • Comment : définir les propriétés de la tâche à l’aide d’un éditeur de la tâche

Pour plus d’informations sur la façon d’écrire dans le journal des événements applications de Windows à l’aide de Microsoft Visual Basic, visitez le site Web de Microsoft Developer Network (MSDN) à l’adresse suivante :

http://msdn.microsoft.com/en-us/library/07347hdt.aspx

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

×