2017-01-01 3 views
0

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

Поскольку операция должна выполнять это регулярно и имена файлов следуют конвенции, но не то же самое, и в равной степени имена листов/вкладка не всегда совпадают, пакет SSIS устанавливается следующим образом:

Главная контейнер -> Первый для каждого контейнера (назовем его fE1) Получает имена файлов (присваивает переменной) -> Второй для каждого контейнера (назовем его Fe2) Получает имя листа и запускает процесс импорта.

Что я сделал, это создать ограничение приоритета «отказа» от FE2 для процесса задачи файловой системы в FE1.

Идея состоит в том, что перемещение файла выполняется, если импорт по какой-либо причине не увенчался успехом.

(когда он работает, я хотел бы создать процесс «успеха», который перемещает файл в папку архива)

процесс задачи файл работает, когда есть только один «для каждого контейнера» (не то вложенной так, как она есть сейчас), но она терпит неудачу, когда все процессы находятся во вложенном контейнере, ссылаясь на «используемый файл». Я предполагаю, что это потому, что первый для каждого контейнера блокирует файл, поэтому я переместил процесс задачи файла на первый для каждого контейнера и использовал прецедент-контроль.

Любая помощь и совет получили высокую оценку.

screenshot

ответ

0

В пользу кого-то, кто может иметь ту же проблему:

для любви, ни денег, я мог получить разъем первенствует, чтобы освободить файлы, даже если задача переместить файл был вне петля.

В конце я записал файлы, которые были перемещены в таблицу в БД, а затем выполнил второй пакет, содержащий задание файла перемещения, и пропустил строки таблицы со списком успешно импортированных (и не удалось импортировать) файлы и переместили их в пункт назначения на основе флага неудачи/успеха.

Это был единственный способ добиться успеха.

Когда требуется выполнить итерацию по рабочему листу каждого файла excel (т. Е. Два excel-соединения), SSIS не выпустит файлы, чтобы я навсегда получил файл при использовании ошибки и сбоя.