Расширение вывода ошибок с помощью компонента скрипта
По умолчанию два дополнительных столбца в выводе ошибок служб Службы Integration Services, ErrorCode и ErrorColumn, содержат только числовые коды, представляющие номер ошибки и идентификатор столбца, в котором произошла ошибка. Эти числовые значения могут быть малополезны без соответствующего описания ошибки.
В этом разделе описывается, как добавить столбец с описанием ошибки к существующим выходным данным ошибок в потоке данных с помощью компонента скрипта. В следующем примере с помощью метода GetErrorDescription интерфейса IDTSComponentMetaData100, доступ к которому можно получить через свойство ComponentMetaData компонента скрипта, добавляется описание ошибки, соответствующее конкретному стандартному коду ошибки служб Службы Integration Services.
Примечание |
---|
Если нужно создать компонент, который будет полезен в нескольких задачах потока данных и нескольких пакетах, рекомендуется в качестве основы использовать этот образец компонента скрипта. Дополнительные сведения см. в разделе Разработка пользовательского компонента потока данных. |
Пример
В приведенном примере компонент скрипта, настроенный в качестве преобразования, используется для добавления столбца с описанием ошибки к существующим выходным данным ошибок в потоке данных.
Дополнительные сведения о настройке компонента скрипта для использования в качестве преобразования в потоке данных см. в разделах Создание синхронного преобразования с помощью компонента скрипта и Создание асинхронного преобразования с помощью компонента скрипта.
Настройка этого примера компонента скрипта
Перед созданием нового компонента скрипта настройте вышестоящий компонент в потоке данных для перенаправления строк в его вывод ошибок при возникновении ошибки или усечения. В целях тестирования, возможно, следует настроить компонент таким образом, чтобы гарантировать возникновение ошибок, — например, настроив преобразование «Уточняющий запрос» между двумя таблицами, в котором уточняющий запрос непременно приведет к ошибке.
Добавьте новый компонент скрипта в область конструктора потока данных и настройте его в качестве преобразования.
Соедините вывод ошибок вышестоящего компонента с новым компонентом скрипта.
Откройте Редактор преобразования «Скрипт» и на странице Скрипт для свойства ScriptLanguage выберите язык скрипта.
Нажмите кнопку Изменить скрипт, чтобы открыть интегрированную среду разработки средств Microsoft Visual Studio для приложений (VSTA), и добавьте следующий образец кода.
Закройте среду VSTA.
В диалоговом окне Редактор преобразования «Скрипт» на странице Входные столбцы выберите столбец ErrorCode.
На странице Входы и выходы добавьте новый выходной столбец типа String с именем ErrorDescription. Увеличьте длину нового столбца по умолчанию до 255 для поддержки длинных сообщений.
Закройте Редактор преобразования «Скрипт».
Соедините выход компонента скрипта с подходящим назначением. Назначение «Неструктурированный файл» проще всего при настройке в случае нерегламентированной отладки.
Запустите пакет.
Public Class ScriptMain
Inherits UserComponent
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
Row.ErrorDescription = _
Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)
End Sub
End Class
public class ScriptMain:
UserComponent
{
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);
}
}
|
См. также
Задания
Основные понятия
Использование выводов ошибок в компоненте потока данных
Создание синхронного преобразования с помощью компонента скрипта