Registrando a tarefa Script
O uso do registro em pacotes do Integration Services permite que você grave informações detalhadas sobre o progresso da execução, resultados e problemas, registrando eventos predefinidos ou mensagens definidas pelo usuário para análise posterior. A tarefa Script pode usar o método Log do objeto Dts para registrar dados definidos pelo usuário. Se o registro em log estiver ativado e o evento ScriptTaskLogEntry for selecionado para o registro na guia Detalhes da caixa de diálogo Configurar Logs de SSIS, uma única chamada ao método Log armazenará as informações do evento em todos os provedores de log configurados para a tarefa.
Observação |
---|
Embora seja possível executar o registro em log diretamente da tarefa Script, talvez você queira implementar eventos em vez de registrá-los. Ao utilizar eventos, você pode habilitar o registro de mensagens de eventos e também responder ao evento com manipuladores de eventos padrão ou definidos pelo usuário. |
Para obter mais informações sobre o registro em log, consulte Registro da execução de pacotes.
Exemplo de registro em log
O exemplo a seguir demonstra o registro em log da tarefa Script, em que o valor registrado 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;
}
}
}
Recursos externos
- Entrada de blog Logging custom events for Integration Services tasks (em inglês), em dougbert.com
|
Consulte também