Поиск исключения для столбца при переносе данных с помощью служб SSIS из Oracle в MS SQL - PullRequest
2 голосов
/ 02 мая 2019

Я работаю над проектом переноса данных. В текущей задаче мне нужно выбрать данные из n таблиц из Oracle, объединить их и вставить данные в одну таблицу SQL. Количество строк в миллионах.

Проблема: в Oracle есть данные, которые, когда мы пытаемся вставить их в SQL, дают исключение. Например, тип данных столбца Oracle - VARCHAR2, тогда как в SQL это int. Данные числа. Но есть несколько столбцов, которые имеют специальные символы, такие как «,». Это один из таких примеров, который потерпит неудачу, когда мы пытаемся вставить в таблицу SQL. Это не подходит для многих таких столбцов.

Я использую SSIS для этой задачи. Я перемещаю все идентификаторы ошибок строк в таблицу ошибок, которые выдают такую ​​ошибку, как указано в примере выше.

Вопрос. Мне нужно имя столбца, для которого вставка не выполняется для каждой строки. Есть ли опция в SSIS? При ошибке я хочу сохранить идентификатор и имя столбца в таблице ошибок.

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

Редактировать: данные будут поступать ежедневно, т. Е. Пакет служб SSIS будет выполняться ежедневно.

1 Ответ

1 голос
/ 03 мая 2019

Выход ошибок содержит много столбцов, предоставляющих информацию о нем.

Список столбцов включает столбцы во входных данных компонента, столбцы ErrorCode и ErrorColumn , добавленные предыдущими выходами ошибок, и ErrorCode и ErrorColumn столбцы, добавленные этим компонентом.

Если вы используете пункт назначения OLEDB, вы не можете перенаправить строки ошибок при использовании опции быстрой загрузки. И так как вы упомянули, что

Количество строк в миллионах.

Тогда не рекомендуется использовать вставку Row-by-Row.

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

Ссылки и полезные ссылки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...