Ведение журнала в задаче «Сценарий»
Ведение журнала в пакетах служб Integration Services позволяет записывать для последующего анализа извлекаемую из стандартных событий или определяемых пользователем сообщений подробную информацию о ходе выполнения, полученных результатах и возникших проблемах. Задача «Сценарий» может использовать метод Log объекта Dts для записи в журнал определяемых пользователем данных. Если ведение журнала разрешено и событие ScriptTaskLogEntry выбрано для записи в журнал на вкладке Подробности диалогового кона Настройка журналов служб SSIS, однократный вызов метода Log сохраняет сведения о событиях во всех регистраторах журнала, настроенных для данной задачи.
Примечание |
---|
Хотя журнал можно вести непосредственно из задачи «Сценарий», можно реализовать события вместо ведения журнала. При использовании событий можно не только включить запись в журнал сообщений о событиях, но и реагировать на события с помощью обработчиков событий, определяемых пользователем или заданных по умолчанию. |
Дополнительные сведения о ведении журнала см. в разделе Ведение журнала выполнения пакетов.
Пример ведения журнала
Следующий пример иллюстрирует ведение журнала из задачи «Сценарий» путем записи в журнал значения, представляющего число обработанных строк.
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;
}
}
}
Внешние ресурсы
- Запись в блоге, Ведение журнала пользовательских событий для задач служб Integration Services, на сайте dougbert.com
|
См. также