Расширение вывода ошибок с помощью компонента сценария

По умолчанию два дополнительных столбца в выводе ошибок служб Integration Services, ErrorCode и ErrorColumn, содержат только числовые коды, представляющие номер ошибки и идентификатор столбца, в котором произошла ошибка. Эти числовые значения могут быть малополезны без соответствующего описания ошибки.

В этом разделе описывается, как добавить столбец с описанием ошибки к существующим выходным данным ошибок в потоке данных с помощью компонента сценария. В следующем примере с помощью метода GetErrorDescription интерфейса IDTSComponentMetaData100, доступ к которому можно получить через свойство ComponentMetaData компонента сценария, добавляется описание ошибки, соответствующее конкретному стандартному коду ошибки служб Integration Services.

ПримечаниеПримечание

Если нужно создать компонент, который будет полезен в нескольких задачах потока данных и нескольких пакетах, рекомендуется в качестве основы использовать этот образец компонента сценария. Дополнительные сведения см. в разделе Разработка пользовательского компонента потока данных.

Примеры

В приведенном примере компонент сценария, настроенный в качестве преобразования, используется для добавления столбца с описанием ошибки к существующим выходным данным ошибок в потоке данных.

Дополнительные сведения о настройке компонента сценария для использования в качестве преобразования в потоке данных см. в разделах Создание синхронного преобразования с помощью компонента скрипта и Создание асинхронного преобразования с помощью компонента скрипта.

Настройка этого примера компонента сценария

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

  2. Добавьте новый компонент сценария в область конструктора потока данных и настройте его в качестве преобразования.

  3. Соедините вывод ошибок вышестоящего компонента с новым компонентом сценария.

  4. Откройте Редактор преобразования «Сценарий» и на странице Сценарий для свойства ScriptLanguage выберите язык сценария.

  5. Нажмите кнопку Изменить сценарий, чтобы открыть интегрированную среду разработки средств Microsoft Visual Studio для приложений (VSTA) и добавьте следующий образец кода.

  6. Закройте среду VSTA.

  7. В диалоговом окне Редактор преобразования «Сценарий» на странице Входные столбцы выберите столбец ErrorCode.

  8. На странице Входы и выходы добавьте новый выходной столбец типа String с именем ErrorDescription. Увеличьте длину нового столбца по умолчанию до 255 для поддержки длинных сообщений.

  9. Закройте Редактор преобразования «Сценарий».

  10. Соедините выход компонента сценария с подходящим назначением. Назначение «Плоский файл» проще всего при настройке в случае нерегламентированной отладки.

  11. Запустите пакет.

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);

    }
}
Значок служб Integration Services (маленький) Будьте в курсе новых возможностей cлужб Integration Services

Чтобы загружать новейшую документацию, статьи, образцы и видеоматериалы от корпорации Майкрософт, а также лучшие решения от участников сообщества, посетите страницу Integration Services на сайтах MSDN или TechNet:

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.