Перенаправить строки с ошибками из Flat File Destination
У меня есть SSIS package
со следующим:
- Источник OLE DB, который извлекает данные из таблицы с помощью команды SQL
- Назначение плоского файла, в котором хранятся данные, извлеченные из БД в формате CSV
- Диспетчер подключений файлов для адресата плоских файлов, настроенный для использования кодовой страницы "1252 (ANSI - Latin I)"
В исходной таблице есть некоторые данные, которые содержат символы, которые недопустимы для кодовой страницы 1252. Когда пакет пытается вставить эти данные в файл назначения, он выдает ошибку на этапе "Назначение плоского файла".
Я хочу перенаправить строки с недопустимыми символами в отдельный файл. Если ошибка произошла в компоненте Source OLE DB, я мог бы использовать путь ошибки с конфигурацией "Redirect Rows". Однако из-за ошибки в компоненте "Назначение плоского файла", и у этого компонента нет выходных данных, я не могу захватить эти строки. Как это должно быть сделано?
1 ответ
Вы можете вставить компонент "Преобразование данных" перед назначением "Плоский файл", преобразовать поле данных в некоторый столбец "копия..." и настроить вывод ошибок преобразования данных. Это позволяет вам захватывать ошибочные строки вместе с кодом ошибки.
Обратите внимание, что такой дизайн эффективно отфильтровывает ошибочные строки из обычного пути DataFlow путем перенаправления на вывод ошибок.