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


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

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

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

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

См. также

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