Многопетлевые службы SSIS не работают - PullRequest
1 голос
/ 23 января 2012

Мой пакет служб SSIS пытается выполнить цикл по списку людей (в таблице), а затем отправляет этим людям список отчетов.

Если один из этих отчетов не сгенерирован (файлы Excel), я бы хотел, чтобы пакет не потерпел неудачу, а продолжил.

Я прочитал несколько статей о том, как установить значение распространения в «ложь», что должно означать, что ошибка не всплывает до содержащей цикл.

Это все еще делает: (

Я установил для «Максимальной ошибки» значение 0 в «Задаче отправки электронной почты» и добавил событие «Ошибка» со значением распространения, установленным в «ложь»

Событие не удалось, но также вышло из строя вышеприведенный цикл и, следовательно, пакет.

Я даже добавил контейнер последовательности, чтобы посмотреть, поможет ли это! Радости нет: (

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

SSIS

1 Ответ

5 голосов
/ 23 января 2012

«Максимальное количество ошибок» контейнера игнорирует любые параметры распространения, заданные для дочерних элементов.Это позволяет вам определить количество ошибок, которые могут произойти в любом дочернем элементе до того, как произойдет сбой самого контейнера.Идея заключается в том, что у вас может возникнуть ситуация, когда вы хотите, чтобы родитель потерпел неудачу, только если более чем, скажем, 10 дочерних элементов вышли из строя, независимо от того, где они вышли из строя.

Если вы хотите предотвратить это, вынужно изменить счетчик на 0, что отключает эту проверку и позволяет вашим дочерним элементам выходить из строя столько раз, сколько вам нужно.

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

  1. Установите для почтового задания значение , а не для родительского задания при сбое задания.
  2. Измените настройки для объектов-контейнеров, чтобы максимальное количество ошибок равнялось нулю, а для параметра «родительский отказ при сбое этой задачи» - значение «истина».

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

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