Перенаправить строки с ошибками из Flat File Destination

У меня есть SSIS package со следующим:

  1. Источник OLE DB, который извлекает данные из таблицы с помощью команды SQL
  2. Назначение плоского файла, в котором хранятся данные, извлеченные из БД в формате CSV
  3. Диспетчер подключений файлов для адресата плоских файлов, настроенный для использования кодовой страницы "1252 (ANSI - Latin I)"

В исходной таблице есть некоторые данные, которые содержат символы, которые недопустимы для кодовой страницы 1252. Когда пакет пытается вставить эти данные в файл назначения, он выдает ошибку на этапе "Назначение плоского файла".

Я хочу перенаправить строки с недопустимыми символами в отдельный файл. Если ошибка произошла в компоненте Source OLE DB, я мог бы использовать путь ошибки с конфигурацией "Redirect Rows". Однако из-за ошибки в компоненте "Назначение плоского файла", и у этого компонента нет выходных данных, я не могу захватить эти строки. Как это должно быть сделано?

1 ответ

Решение

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

Другие вопросы по тегам