Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
SSIS Integration Runtime v rámci Azure Data Factory
Použití logování v balíčcích Integration Services umožňuje zaznamenávat podrobné informace o průběhu provádění, výsledcích a problémech zaznamenáváním předdefinovaných událostí nebo uživatelsky definovaných zpráv pro pozdější analýzu. Skriptní úloha může použít metodu Log objektu Dts k zaznamenání uživatelsky definovaných dat. Pokud je logování povoleno a na záložce Details v dialogovém okně Configure SSIS Logs je pro přihlášení vybrána událost ScriptTaskLogEntry, jedno volání Log metody uloží informace o události do všech poskytovatelů logů nastavených pro danou úlohu.
Note
Ačkoliv můžete logovat přímo ze skriptové úlohy, možná byste měli zvážit implementaci událostí místo logování. Při použití událostí můžete nejen povolit zaznamenávání zpráv o událostech, ale také na událost reagovat pomocí výchozích nebo uživatelsky definovaných obslužných nástrojů.
Pro více informací o logování viz Integration Services (SSIS) logování.
Příklad logování
Následující příklad ukazuje logování ze skriptové úlohy logováním hodnoty reprezentující počet zpracovaných řádků.
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;
}
}
}