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


Шаг 2. Создание поврежденного файла

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

В этой задаче предстоит скопировать существующий образец неструктурированного файла. Затем предстоит открыть его в приложении «Блокнот» и изменить столбец CurrencyID таким образом, чтобы при поиске совпадений во время преобразования произошел сбой. При обработке нового файла произойдет сбой в преобразовании «Уточняющий запрос» для CurrencyKey, что приведет к ошибке в работе всего пакета. После создания поврежденного образца файла предстоит выполнить пакет, чтобы просмотреть его поведение при сбое.

Создание поврежденного образца неструктурированного файла

  1. В приложении «Блокнот» или другом текстовом редакторе откройте файл Currency_VEB.txt.

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

    1. Перейдите к образцам продуктов служб Integration Services.

    2. Перейдите на вкладку DOWNLOADS.

    3. Щелкните файл SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip.

  2. Используя функции текстового редактора для поиска и замены, замените все вхождения строки VEB на BAD.

  3. Сохраните измененный файл в той же папке, где находятся остальные файлы образцов данных, с именем Currency_BAD.txt.

    Важное примечаниеВажно!

    Убедитесь, что файл Currency_BAD.txt сохранен в той же папке, что и другие файлы образцов данных.

  4. Закройте текстовый редактор.

Проверка факта возникновения ошибки во время выполнения

  1. В меню Отладка выберите команду Начать отладку.

    При третьем проходе потока данных в преобразовании Lookup Currency Key будет предпринята попытка обработать файл Currency_BAD.txt, при этом произойдет ошибка преобразования. Ошибка преобразования вызовет отказ работы всего пакета.

  2. В меню Отладка выберите команду Остановить отладку.

  3. В области конструктора откройте вкладку Результаты выполнения.

  4. Просмотрите журнал и убедитесь, что произошла следующая необработанная ошибка:

    [Lookup Currency Key[27]] Error: Row yielded no match during lookup.

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

    Число 27 представляет собой идентификатор компонента. Это значение присваивается при создании потока данных, так что в пакете оно может отличаться от приведенного в учебнике.

Следующие шаги

Шаг 3. Добавление перенаправления потока ошибок