Поделиться через


Ведение журнала в задаче «Скрипт»

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

Использование ведения журнала в пакетах Служб Integration Services позволяет записывать подробные сведения о ходе выполнения, результатах и проблемах путем записи предопределенных событий или определяемых пользователем сообщений для последующего анализа. Задача "Скрипт" может использовать метод Log объекта Dts для записи в журнал определяемых пользователем данных. Если ведение журнала разрешено и событие ScriptTaskLogEntry выбрано для записи в журнал на вкладке Подробности диалогового окна Настройка журналов служб SSIS, однократный вызов метода Log сохраняет сведения о событиях во всех регистраторах, настроенных для данной задачи.

Примечание.

Хотя журнал можно вести непосредственно из задачи «Скрипт», можно реализовать события вместо ведения журнала. При использовании событий можно не только включить запись в журнал сообщений о событиях, но и реагировать на события с помощью обработчиков событий, определяемых пользователем или заданных по умолчанию.

Дополнительные сведения о ведении журналов см. в разделе Ведение журналов Integration Services (SSIS).

Пример ведения журнала

Следующий пример иллюстрирует ведение журнала из задачи «Скрипт» путем записи в журнал значения, представляющего число обработанных строк.

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 (SSIS)