Aanmelden bij de scripttaak

Van toepassing op:SQL Server SSIS Integration Runtime in Azure Data Factory

Het gebruik van logging in Integration Services-pakketten stelt je in staat gedetailleerde informatie over de voortgang van de uitvoering, resultaten en problemen vast te leggen door vooraf gedefinieerde gebeurtenissen of door de gebruiker gedefinieerde berichten op te nemen voor latere analyse. De Script-taak kan de Log methode van het Dts-object gebruiken om door de gebruiker gedefinieerde data te loggen. Als logging is ingeschakeld en het ScriptTaskLogEntry-evenement wordt geselecteerd voor logging op het tabblad Details van het dialoogvenster Configure SSIS Logs , slaat een enkele aanroep naar de Log methode de gebeurtenisinformatie op in alle logproviders die voor de taak zijn geconfigureerd.

Note

Hoewel je direct vanuit je Script-taak kunt loggen, kun je overwegen om evenementen te implementeren in plaats van loggen. Bij het gebruik van events kun je niet alleen het loggen van gebeurtenisberichten inschakelen, maar ook reageren op het event met standaard- of door de gebruiker gedefinieerde event handlers.

Voor meer informatie over logging, zie Integration Services (SSIS) Logging.

Voorbeeld van houtkap

Het volgende voorbeeld laat het loggen vanuit de Script-taak zien door een waarde te loggen die het aantal verwerkte rijen weergeeft.

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

}