Efetuando login na tarefa de script

Aplica-se a: SQL Server SSIS Integration Runtime em Azure Data Factory

A utilização de login nos pacotes de Serviços de Integração permite-lhe registar informações detalhadas sobre o progresso da execução, resultados e problemas, registando eventos pré-definidos ou mensagens definidas pelo utilizador para análise posterior. A tarefa Script pode usar o Log método do objeto DTS para registar dados definidos pelo utilizador. Se o registo estiver ativado e o evento ScriptTaskLogEntry for selecionado para login na aba Detalhes da caixa de diálogo Configurar Registos SSIS , uma única chamada ao Log método armazena a informação do evento em todos os fornecedores de registo configurados para a tarefa.

Note

Embora possas realizar o registo diretamente a partir da tua tarefa Script, podes querer considerar implementar eventos em vez de fazer logs. Ao usar eventos, não só pode ativar o registo das mensagens de eventos, como também pode responder ao evento com handlers de eventos definidos por defeito ou definidos pelo utilizador.

Para mais informações sobre registo de dados, consulte Registo de Serviços de Integração (SSIS).

Exemplo de Registo

O exemplo seguinte demonstra o registo a partir da tarefa Script ao registar um valor que representa o número de linhas processadas.

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

}