Partager via


Journalisation dans la tâche de script

La journalisation dans des packages Integration Services vous permet d'enregistrer des informations détaillées sur l'avancement, les résultats et les problèmes d'exécution en enregistrant des événements prédéfinis ou des messages définis par l'utilisateur en vue d'une analyse ultérieure. La tâche de script peut utiliser la méthode Log de l'objet Dts pour enregistrer des données définies par l'utilisateur. Si la journalisation est activée et que l'événement ScriptTaskLogEntry est sélectionné pour la journalisation sous l'onglet Détails de la boîte de dialogue Configurer les journaux SSIS, un seul appel à la méthode Log stocke les informations sur l'événement dans tous les modules fournisseurs d'informations configurés pour la tâche.

[!REMARQUE]

Bien qu'il soit possible d'exécuter la journalisation directement à partir de la tâche de script, il peut être préférable d'implémenter des événements plutôt que la journalisation. L'utilisation d'événements vous permet non seulement d'activer la journalisation des messages d'événements, mais également de répondre à un événement à l'aide de gestionnaires d'événements par défaut ou définis par l'utilisateur.

Pour plus d'informations sur la journalisation, consultez Journalisation de l'exécution des packages.

Exemple de journalisation

L'exemple suivant montre la journalisation d'une valeur représentant le nombre de lignes traitées à partir de la tâche de script.

Public Sub Main()

    Dim rowsProcessed As Integer = 100
    Dim emptyBytes(0) As Byte

    Try
        Dts.Log("Rows processed: " & rowsProcessed.ToString, _
            0, _
            emptyBytes)
        Dts.TaskResult = ScriptResults.Success
    Catch ex As Exception
        'An error occurred.
        Dts.Events.FireError(0, "Script Task Example", _
            ex.Message & ControlChars.CrLf & ex.StackTrace, _
            String.Empty, 0)
        Dts.TaskResult = ScriptResults.Failure
    End Try

End Sub
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;

public class ScriptMain
{


    public void Main()
        {
            //
            int rowsProcessed = 100;
            byte[] emptyBytes = new byte[0];

            try
            {
                Dts.Log("Rows processed: " + rowsProcessed.ToString(), 0, emptyBytes);
                Dts.TaskResult = (int)ScriptResults.Success;
            }
            catch (Exception ex)
            {
                //An error occurred.
                Dts.Events.FireError(0, "Script Task Example", ex.Message + "\r" + ex.StackTrace, String.Empty, 0);
                Dts.TaskResult = (int)ScriptResults.Failure;
            }

        }

}

Ressources externes

Icône Integration Services (petite) Rester à jour avec Integration Services

Pour obtenir les derniers téléchargements, articles, exemples et vidéos de Microsoft, ainsi que les solutions retenues par la communauté informatique, consultez la page Integration Services sur MSDN ou TechNet :

Pour recevoir une notification automatique de ces mises à jour, abonnez-vous aux flux RSS disponibles sur la page.