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


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

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

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

Примечание.

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

Пример

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

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

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

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

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

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

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

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

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

  7. В редакторе преобразования скрипта на странице входных столбцов выберите столбец ErrorCode.

  8. На странице "Входные и выходные данные" добавьте новый выходной столбец типа StringErrorDescription. Увеличьте длину нового столбца по умолчанию до 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 (небольшой) Оставайтесь в курсе в службах Integration Services
Последние загрузки, статьи, примеры и видео из Корпорации Майкрософт, а также выбранные решения из сообщества, посетите страницу служб Integration Services на сайте MSDN:

Посетить страницу «Службы Integration Services» на сайте MSDN

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

См. также

Обработка ошибок в данных
Использование выводов ошибок в компоненте потока данных
Создание синхронного преобразования с помощью компонента скрипта