Registrazione nell'attività Script
L'utilizzo della registrazione nei pacchetti di Integration Services consente di registrare informazioni dettagliate su stato di esecuzione, risultati e problemi, tramite la registrazione di eventi predefiniti o di messaggi definiti dall'utente da analizzare in un secondo momento. L'attività Script può utilizzare il metodo Log dell'oggetto Dts per registrare dati definiti dall'utente. Se la registrazione è abilitata e l'evento ScriptTaskLogEntry è selezionato per la registrazione nella scheda Dettagli della finestra di dialogo Configura log SSIS, una singola chiamata al metodo Log archivia le informazioni dell'evento in tutti i provider di log configurati per l'attività.
[!NOTA]
Anche se è possibile eseguire direttamente la registrazione dall'attività Script, è consigliabile implementare eventi anziché registrare. Quando si utilizzano gli eventi, oltre ad abilitare la registrazione dei messaggi di eventi, è anche possibile rispondere all'evento con gestori eventi predefiniti o definiti dall'utente.
Per ulteriori informazioni sulla registrazione, vedere Registrazione dell'esecuzione di pacchetti.
Esempio di registrazione
Nell'esempio seguente è illustrata la registrazione dall'attività Script registrando un valore che rappresenta il numero di righe elaborate.
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;
}
}
}
Risorse esterne
- Intervento nel blog Registrazione di eventi personalizzati per le attività di Integration Services (in lingua inglese) sul sito Web all'indirizzo dougbert.com
|
Vedere anche