Контейнер последовательностей служб SSIS, не выполняющий каждую задачу - PullRequest
0 голосов
/ 27 августа 2018

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

Эти циклы Foreach проверяют определенный подстановочный знак в имени файла и перемещают его в другую папку, также переименовывая файл. Когда я выполняю каждый цикл по каждому элементу вручную (щелкните правой кнопкой мыши контейнер и нажмите «Выполнить контейнер»), задача выполняется правильно, подтверждается зеленой галочкой на контейнере и в задаче файловой системы, и я вижу, что файл правильно перемещен в папку назначения.

enter image description here

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

enter image description here

Я также попытался добавить ограничения для потока из одного контейнера в другой. На этот раз зеленая галочка появляется на всех 5 контейнерах, но только первая задача файловой системы отмечена (и была перемещена + переименована). Как будто остальные задачи были пропущены.

enter image description here

Как я могу гарантировать, что все задачи выполняются при каждом запуске пакета?

РЕДАКТИРОВАТЬ: Вот результаты выполнения моего последнего запуска:

enter image description here

1 Ответ

0 голосов
/ 27 августа 2018

Единственный способ не выполнить цикл For-Each - это если перечислитель пуст. Что-то происходит после первого случайно выбранного цикла FE, который гарантирует, что остальные циклы F-Every не имеют перечислений. Я бы сделал следующее:

  • Поместите значение переменной измененной точки останова на переменные, используемые для исходная папка и для каждого перемещаемого файла. Я бы пошел в длина задания скрипта с окном сообщения, которое показывает Путь файла. Поместите эти точки останова в каждую петлю.
  • Убедитесь, что путь к файлу полностью указан, так что используемый источник действительно правильный
  • Проверьте вкладку прогресса для получения дополнительной информации.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...