Занятие 4-3. Добавление перенаправления потока ошибок

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

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

Чтобы предотвратить завершение преобразования с ошибкой, можно настроить вывод ошибок в этом компоненте таким образом, чтобы строка с ошибкой перенаправлялась на другой путь обработки. Использование отдельного пути обработки ошибок предоставляет дополнительные возможности. Например, можно очистить данные, а затем заново обработать строку с ошибкой. Кроме того, можно сохранить строку с ошибкой вместе со сведениями об ошибке для последующей проверки и повторной обработки.

В этой задаче вы настраиваете преобразование "Поиск ключа валюты" так, чтобы все строки с ошибками перенаправлялись на вывод ошибок. В ветке ошибок потока данных Integration Services записывают эти строки в файл.

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

Настройка вывода ошибок

  1. На панели элементов служб SSIS разверните узел Common и перетащите компонент скрипта на область конструктора вкладки Поток данных. Поместите скрипт справа от преобразования "Ключ валюты подстановки".

  2. В диалоговом окне Выбор типа компонента скрипта выберите Преобразование и нажмите кнопку ОК.

  3. Чтобы соединить эти два компонента, щелкните преобразование Поиск ключа валюты и перетащите его красную стрелку на вновь созданное преобразование Скрипт.

    Красная стрелка отображает вывод ошибок преобразования Поиск ключа валюты . Используя красную стрелку для подключения преобразования к компоненту скрипта, можно перенаправить любые ошибки обработки в компонент скрипта, который обрабатывает их и отправляет по назначению.

  4. В диалоговом окне Настройка вывода ошибок в столбце Ошибка выберите Перенаправить строкуи нажмите кнопку ОК.

  5. В области конструктора Поток данных щелкните имя Компонент скрипта в только что добавленном преобразовании ScriptComponent и измените это имя на Получение описания ошибки.

  6. Дважды щелкните преобразование Получение описания ошибки .

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

  8. На странице Входы и выходы разверните Выход 0, выберите Выходные столбцы и нажмите кнопку Добавить столбец.

  9. Для свойства Name введите ErrorDescription и задайте для свойства DataType значение Unicode string [DT_WSTR].

  10. На странице Скрипт убедитесь в том, что свойство LocaleID имеет значение Английский (США).

  11. Нажмите Изменить скрипт, чтобы открыть среду Microsoft Visual Studio Tools for Applications (VSTA). В методе Input0_ProcessInputRow введите или вставьте следующий код:

    [Visual Basic]

    Row.ErrorDescription =   
      Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)  
    

    [Visual C#]

    Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);  
    

    Готовая подпрограмма должна выглядеть так:

    [Visual Basic]

    Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)  
    
      Row.ErrorDescription =   
        Me.ComponentMetaData.GetErrorDescription(Row.ErrorCode)  
    
    End Sub  
    

    [Visual C#]

    public override void Input0_ProcessInputRow(Input0Buffer Row)  
        {  
    
            Row.ErrorDescription = this.ComponentMetaData.GetErrorDescription(Row.ErrorCode);  
    
        }  
    
  12. В меню Сборка выберите команду Построить решение, чтобы создать скрипт и сохранить изменения, а затем закройте средства VSTA.

  13. Нажмите кнопку ОК, чтобы закрыть диалоговое окно Редактор преобразования "Скрипт".

Переход к следующей задаче

Шаг 4. Добавление назначения неструктурированного файла