Journalisation dans la tâche de script

S’applique à :SQL Server SSIS Integration Runtime dans Azure Data Factory

L’utilisation de la journalisation dans les 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.

Notes

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 Integration Services (SSIS).

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;  
            }  
  
        }  

}

Voir aussi

Journalisation d'Integration Services (SSIS)