как обрабатывать случай отказа данных в ssis

Привет, у меня есть одно сомнение в ssis. Я хочу загрузить данные файла excel источника в таблицу базы данных sql server. Исходный файл Excel содержит миллиарды данных (огромные данные). время загрузки halfoffrecords загружаются в целевую таблицу после того, как это не удается из-за того, что некоторые данные приходят в неправильном формате. в этой задаче, как будет обрабатывать пакет для загрузки всех данных в место назначения с помощью ssis.

источник: excel (данные информации Emp) пункт назначения: Таблица: emp Я попытался использовать конфигурацию контрольной точки для повторного запуска в точке сбоя ... но бесполезно обрабатывать уровень строки данных и загружаются дублирующиеся данные. и я попробовал по-другому усечь данные в целевой таблице. после этого я использовал строку перенаправления для обработки ошибок. но это не очень хорошая реализация из-за усечения целевой таблицы. Скажите, пожалуйста, сколько способов выполнить эту задачу (полная загрузка) на уровне пакета ssis.


person balu    schedule 06.03.2018    source источник
comment
Используйте преобразование поиска, чтобы при повторном запуске дубликаты не вставлялись в место назначения.   -  person Ven    schedule 06.03.2018
comment
без использования преобразования поиска любое другое решение. поскольку его единственная начальная загрузка не требует сравнения исходных данных с данными назначения (если я снова использую поиск, это займет больше времени из-за сравнения данных). любое другое решение для достижения этого случая в ssis   -  person balu    schedule 06.03.2018
comment
Я могу думать только о look up в SSIS, или он должен обрабатываться на уровне промежуточной базы данных. Ваш поиск будет оптимизирован, если вы используете правильные столбцы и без изменения кеша   -  person Ven    schedule 06.03.2018
comment
Концепции загрузки данных всегда предлагают использовать промежуточные таблицы. Если данные в исходном файле имеют неправильный формат, как это можно исправить при повторном запуске. Это не похоже на возможное решение, вы столкнетесь с проблемами производительности в SSIS, хотя контрольная точка включена.   -  person Ven    schedule 06.03.2018
comment
Вы можете перехватывать и перенаправлять ошибки? Или еще лучше преобразовать искаженные данные на основе правил. Некоторые приемлемые преобразования обычно влекут за собой обрезку, обработку нулей или другие базовые исправления.   -  person KeithL    schedule 06.03.2018


Ответы (1)


Загрузите данные из Excel в промежуточную таблицу, которую вы усекаете перед каждой загрузкой.

Сделайте все столбцы промежуточной таблицы типом nvarchar(max), чтобы они могли обрабатывать любой формат входящих символьных данных.

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

person Tab Alleman    schedule 07.03.2018