powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SSIS - как погасить ошибку в задаче?
39 сообщений из 39, показаны все 2 страниц
SSIS - как погасить ошибку в задаче?
    #37641609
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть SSIS - пакет. В нём в цикле (Foreach loop) выполняется несколько задач, и в частности, FTP task

Необходимо в случае ошибки в этой FTP task продолжить выполнение цикла (точнее, циклов - их несколько вложенных).

Как вообще это можно сделать?

Пока что я нашёл только один выход - во всех контейнерах SSIS-пакета отключить остановку при возникновении ошибки (установив параметр MaximumErrorCount=0), но это, конечно, неправильно, потому что мне не надо отключать контроль ошибок вообще для всех тасков пакета.

Все остальные методы не работают, например, установка ForceExecutionResult в Success...

Есть какое то решение?
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37641623
SergePnb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

А если перенаправить Error output в заглушку - скрипт таск например? Я такое делал для SQL task, там ошибка подавляется однозначно.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37641665
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergePnbalexeyvg,

А если перенаправить Error output в заглушку - скрипт таск например? Я такое делал для SQL task, там ошибка подавляется однозначно.

Сделал тестовый пакетик с SQL task - поведение ровно такое-же, управление переходит на заглушку, но в Foreach Loop тоже немедленно передаётся ошибка, и на следущей итерации цикла выполнение пакета прерывается.

При этом ещё до выполнения заглушки в выводе студии (в режиме отладки) появляется сообщение:

Warning: 0x80019002 at Foreach Loop Container: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37641680
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите свойства

FailParentOnFailure
FailPackageOnFailure
MaxumumErrorCount
FailTaskIfReturnCodeIsNotSuccessValue

правда я реализовывал загрузку через сторонний ftp-клиент который вызывался в Foreach loop через командную строку.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37641689
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот этот использовал
http://ftps.codeplex.com/
он кстати позволяет выкачать все по маске файла
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37641729
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если не ошибаюсь, то надо просто на контейнере выставить
MaxErrorCount = 0
FailParentOnFailure = false
failPackageOnfailure = false

и все
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37641733
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КритикВот этот использовал
http://ftps.codeplex.com/
он кстати позволяет выкачать все по маске файлаДа, спасибо, смотрел...

Видимо, мы тоже перейдём на что то такое, потому как в будущем вроде бы клиенту понадобится FTPS...



КритикПосмотрите свойства

FailParentOnFailure
FailPackageOnFailure
MaxumumErrorCount
FailTaskIfReturnCodeIsNotSuccessValue

правда я реализовывал загрузку через сторонний ftp-клиент который вызывался в Foreach loop через командную строку.FailParentOnFailure и FailPackageOnFailure усоановлены в False (по умолчанию для любой новой задачи)

MaxumumErrorCount для таска ни на что не влияет, а для контейнера гасит ошибку. Но к сожалению, даже если в контейнере установить MaxumumErrorCount=0, то он то не прекратит работу, но первый же контейнер уровнем выше вывалится :-(

FailTaskIfReturnCodeIsNotSuccessValue - это только для Process Task, как я понимаю, это не подходит...
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37641737
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKotесли не ошибаюсь, то надо просто на контейнере выставить
MaxErrorCount = 0Вывалится контейнер уровнем выше :-(

А для всех установить это свойство нельзя - это значит выключить вообще всю обработку ошибок.

Вообще странно, такая куча средств по управлению ошибками, а управлять нельзя :-)
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37641743
SergePnb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKotесли не ошибаюсь, то надо просто на контейнере выставить
MaxErrorCount = 0
FailParentOnFailure = false
failPackageOnfailure = false

и все

Точно, MaxErrorCount = 0 на контейнере помогает повторять тело и игнорировать ошибку; все остальное значения по умолчанию.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37641811
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergePnbHandKotесли не ошибаюсь, то надо просто на контейнере выставить
MaxErrorCount = 0
FailParentOnFailure = false
failPackageOnfailure = false

и все

Точно, MaxErrorCount = 0 на контейнере помогает повторять тело и игнорировать ошибку; все остальное значения по умолчанию.Увы :-(
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37642073
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть
если стоя на контейнере, в котором может произойти ошибка и ее не надо передавать дальше, то надо перейти на вкладку Event Handler , выбрать св-во OnErro r и в окне Variables найти с именем Propagate и выставить ей значение false

MaxErrorCount должно быть в 0
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37642142
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKotесть
если стоя на контейнере, в котором может произойти ошибка и ее не надо передавать дальше, то надо перейти на вкладку Event Handler , выбрать св-во OnErro r и в окне Variables найти с именем Propagate и выставить ей значение false Блестяще! Вы из тех самых редких экспертов по SSIS! :-)

Поставил это свойство на интересущем меня таске, при этом свойства MaxErrorCount и прочие установил по умолчанию. Сразу всё стало работать, как и хотелось - ошибку таск генерит, я её обрабатываю, как мне надо, при этом выполнение продолжается.

Спасибо!
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37642170
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
предалгаю Вам закинуть это решение в ФАК
я бы и сам мог написать, но из меня писарчук еще тот :)
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37642181
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot alexeyvg
предалгаю Вам закинуть это решение в ФАК
я бы и сам мог написать, но из меня писарчук еще тот :)Хорошо, попробую написать, и заодно обратить внимание народа на системные переменные событий и задач в пакете - многие не представляют, что они есть и нужны, не обращают на них внимания, когда ищёт пути решения каких то проблем.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37642190
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точно и меньше будет встерчаться
авторВообще странно, такая куча средств по управлению ошибками, а управлять нельзя :-)
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #37643229
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот нашел, кому интересно, по этому поводу статью
SSIS Event Handler Variables – Propagate
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
SSIS - как погасить ошибку в задаче?
    #39813735
tashkafox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot, А в свежей SSDT можно так сделать?
Я остановилась на том, что System Variables не могу открыть...
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39813745
tashkafox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tashkafox, нашла. в Grid Options включается
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920482
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
И просто адски прошу помощи по этой же теме с ошибками.

Речь пойдёт о warning'е:
"Warning: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure . This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors."

В проекте где-то в середине среди пакетов и подпакетов есть цикл "For Loop Container" (у него "Propagate" выключил, "MaximumErrorCount = 0" установил, тут всё ок) который первый раз вызывает подпакет и тот падает, а потом вызывает ещё раз и во второй раз уже подпакет отрабатывает успешно. И это повторяется для сразу 10-20 пакетов, т.е. каждый пакет вызывается несколько раз, если первый раз упал.
Всё бы хорошо, но в итоге на самом верху получаю вышеупомянутый warning и падение, хотя по факту всё отработало успешно, пусть и не с первого раза.
И весь проект вызывается в джобе, который тоже падает в итоге и спамит на почту сообщения об ошибках, хотя, повторюсь, всё хорошо, просто одна из попыток не удалась в процессе отработки.

Как это победить? Возможно ли?
Игнорировать в обще все ошибки не хочу. Хочу что бы просто игнорировались всем проектом только ошибки происходящие в "For Loop Container".
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920497
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мб у меня propagate не работает по факту?
Или мб это нормальное поведение. Тогда мб динамически увеличивать MaximumErrorCount у главного пакета на число отловленных и обработанных мной ошибок?... хочется не городить костылей, но пока даже с ними не пойму как это решить
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920511
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karp13
Мб у меня propagate не работает по факту?
Или мб это нормальное поведение. Тогда мб динамически увеличивать MaximumErrorCount у главного пакета на число отловленных и обработанных мной ошибок?... хочется не городить костылей, но пока даже с ними не пойму как это решить

propagate всегда должен работать нормально, если Вы всё правильно настроили
Приложите картинку пакета и обозначьте где падает и где выставили св-во propagate

и, как вариант, выставите propagate всего пакета, только тогда не будет понятно, если свалился в "неположенном месте"
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920570
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ок, попробую:

1.
Пакет "PackageFirst" вызывает пакет "PackageLoop".

2.
Пакет "PackageLoop" вызывается другой пакет, который первый раз падает, а второй раз отрабатывает нормально.
У "PackageLoop" параметр MaximumErrorCount = 1. А у его компонентов "For Loop Container" и "Execute Package Task" MaximumErrorCount = 0 (вроде не обязательно у двух делать, но исторически так сложилось).
У компонента "Execute Package Task" есть handler OnError с выключенным Propagate.
Допустим, я хочу, что бы ошибки "Execute Package Task" и вызываемого им пакета не всплывали наверх, так как я тут их обрабатываю. Но ошибки в других местах должны всплывать.

3.
В итоге, хочу что бы пакет "PackageFirst" не падал.
А он падает, т.к. DTS_W_MAXIMUMERRORCOUNTREACHED превышен, т.к. он заметил, что внизу была ошибка.
Из-за этого не можем ещё выше грамотно мониторить ошибки, т.к. получаем сообщения об ошибках тогда, когда по факту всё хорошо, просто не с первой попытки.
Как это преодолеть? Или что я делаю не так?

PS: ой, сори за черные пятна на скрине, на моей машине такого не было)
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920573
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PS: И я же правильно понимаю, что, судя по логу со скриншота, пакет First падает именно из-за превышения количества допустимых ошибок? Или всё таки как-то ошибка из нижнего пакета передаётся наверх? Как может быть можно это проследить?
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920580
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karp13
Ок, попробую:

1.
Пакет "PackageFirst" вызывает пакет "PackageLoop".

2.
Пакет "PackageLoop" вызывается другой пакет, который первый раз падает, а второй раз отрабатывает нормально.
У "PackageLoop" параметр MaximumErrorCount = 1. А у его компонентов "For Loop Container" и "Execute Package Task" MaximumErrorCount = 0 (вроде не обязательно у двух делать, но исторически так сложилось).
У компонента "Execute Package Task" есть handler OnError с выключенным Propagate.
Допустим, я хочу, что бы ошибки "Execute Package Task" и вызываемого им пакета не всплывали наверх, так как я тут их обрабатываю. Но ошибки в других местах должны всплывать.

3.
В итоге, хочу что бы пакет "PackageFirst" не падал.
А он падает, т.к. DTS_W_MAXIMUMERRORCOUNTREACHED превышен, т.к. он заметил, что внизу была ошибка.
Из-за этого не можем ещё выше грамотно мониторить ошибки, т.к. получаем сообщения об ошибках тогда, когда по факту всё хорошо, просто не с первой попытки.
Как это преодолеть? Или что я делаю не так?


есть подозрение, что Propagate нужно выставить не у Execute Package Task, а у For Loop Container, т.к ошибку он уже сгенерировал и передал в контейнер. А вот контейнер и может прервать цепочку ошибок. Мне думается так
Как раз это и было указано в ответе 12012386
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920597
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot, не помогло. (
Установил у хэндлера OnError контейнера "For Loop Container" значение Propagate = False - ничего не изменилось.
Установил у хэндлера OnError контейнера "For Loop Container" значение Propagate = False, а у "Execute Package Task" у хэндлера OnError значение Propagate = True - ничего не изменилось.
Установил у обоих Propagate = True - ничего не изменилось.
Установил затем у всего пакета "PackageLoop" у хэндлера OnError значение Propagate = False - ничего не изменилось.
Установил затем у всего пакета "PackageLoop" значение MaximumErrorCount = 0 - ничего не изменилось.
Грусть какая-то. Я уже в третий раз штурмую эту проблему, с перерывами по два месяца, делаю те же манипуляции, получаю тот же результат. Эта программа смеётся надо мной. Продолжаю эксперименты.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920601
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то меняется, если я в пакете PackageLoop у контейнера ставлю Propagate = False и MaxErrorCount = 0.
А также, если у пакета выше PackageFirst ставлю MaxErrorCount = 0. Но тогда я теряю в обще все ошибки, что тоже критично плохо.
Не говоря уже о том, что оч желательно решить проблему изменениями только внутри PackageLoop.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920617
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

Вложите в цикл группирующий контейнер и все перенесите в него и на нём надо выставить MaximumErrorCount=0, а все блоки внутри не трогать.

Когда что-то лежит внутри блока и на блоке поставить MaximumErrorCount=0 , то за его пределы ошибка не выйдет.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920908
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karp13,
Как уже говорил, надо только авторв пакете PackageLoop у контейнера ставлю Propagate = False и MaxErrorCount = 0.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920965
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot
Karp13,
Как уже говорил, надо только авторв пакете PackageLoop у контейнера ставлю Propagate = False и MaxErrorCount = 0
.

Это решение не даст нужного результата.

Насколько я понял нужно, чтобы если один оборот цикла упал, следующие продолжились бы.

Для этого нужно сделать то, что я сказал выше. Вложить в loop ещё один контейнер и на нем выставить эти опции.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920981
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую ещё раз описать картину (все имена и фамилии вымышлены):

1. Есть SQL job, который просто запускает etl пакет PackageFirst.dtsx.**
2. Пакет PackageFirst.dtsx просто запускает внутри себя другой пакет PackageLoop.dtsx.
3. Пакет PackageLoop.dtsx содержит в себе вызов третьего пакета PackageToDo.dtsx.
Но не простой вызов, а в цикле, т.к. пакет PackageToDo.dtsx первый раз может упасть (он обращается к сторонней системе и там то таймауты, то пожары, то ещё что-то), поэтому его повторно перезапускаем через 5 секунд.

Это всё работает, цикл шустро вращается, перезапускает пакет, всё круто.
Проблема в том, что если была одна неудачная попытка запуска PackageToDo.dtsx, то самый первый пакет PackageFirst.dtsx всё равно после отработки выдаёт ошибку из-за, как я понял, ворнинга* "всё хорошо, но внизу было больше одной ошибки, поэтому я всё равно считаю, что всё плохо". А в следствии после отработки выдаёт ошибку и SQL job и шлёт письма счастья с ошибками "пакет упал, что там не знаю, смотри сам", хотя по факту всё хорошо.
Пока единственный найденный вариант спасти джоб, это в пакете PackageFirst.dtsx поставить MaxErrorsCount = 0, но тогда идёт игнор в обще всех ошибок, что тоже не вариант.

Мне кажется, решения тут нет. Или я делаю что-то не так.

a_voronin, я оборачивал тело цикла в контейнер и ставил ему MaxErrorsCount = 0, ожидал чуда, но ничего не изменилось. На уровне пакета всё как работало гладко, так и работает. А пакет выше как выдавал ошибку, так и выдаёт.


*Полный текст ворнинга:
"Warning: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (1) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors."
** скриншот повторно приложил
*** прошу прощения, я кажется запутал вас, т.к. не разделил понятия "падает" и "выдаёт ошибку после отработки".
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39920985
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UPD:
Например только что вот нашёл
"Even when set propagate to false, errors raised in a child package are still passed to the parent package." etc
(c) https://bengribaudo.com/blog/2014/08/22/3291/understanding-maximumerrorcount
Похоже, от этого не уйти.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39921638
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karp13
UPD:
Например только что вот нашёл
"Even when set propagate to false, errors raised in a child package are still passed to the parent package." etc
(c) https://bengribaudo.com/blog/2014/08/22/3291/understanding-maximumerrorcount
Похоже, от этого не уйти.

что-то не так в Датском королевстве
сделал цикл , во внутреннем пакете один раз ошибку, и три без ошибки вызовы
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39921691
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot, за пределами Дании тоже какие то проблемы.)

Это ты показываешь лог непосредственно того пакета в котором цикл вращается.
Покажи, пожалуйста, лог родительского пакета, который вызывает этот пакет с циклом. (И у которого, естественно, MaxErrorsCount по дефолту везде равны единице.)
Т.е. прям уточню и отмечу - я говорю про пример с иерархией в три уровня; пакет с циклом это второй уровень, над ним ещё один изначальный пакет есть, с которого запускается вся эта бандура.

Если у тебя и родительский пакет не падает, тогда я снимаю шляпу и пробую разобраться как у тебя это получилось.)
Во вложении дублирую скриншот примера от меня.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39921743
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karp13, к тому что я сказал, выставьте св-во
И чтобы, в случае когда loop пакет падает, поставьте обработчик (как на картинке) и в нем сгенерите ошибку
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39921777
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKot, и т.е. в данном случае джоб, который запускает этот пакет не упадёт? и в логе не будет ворнинга о превышении количества ошибок?
У меня просто всё как было, так и осталось, как и писал в первом своём сообщении. Во вложении пример лога. Всё отрабатывает, но наверху пакет падает, если у самого пакета(!) на установить MaxErrorsCount = 0. Но тем самым отрубить в обще стандартную обработку ошибок, а это не ок (пробовали, упустили нюанс, неделю не знали об ошибке в дебрях почтового сервера).

Уже не говорю о том, что я упростил пример до иерархии в 3 уровня, на самом деле же уровней 5, и отключать так стандартную обработку ошибок и включать рукодельную обработку ошибок у каждого уровня это ад, т.к. тогда речь идёт о переделке не одного пакета, который одинаков в 10 проектах; а 100 пакетов в 10 проектах, которые не факт что везде одинаковы.

Т.е. было бы идеально только на уровне пакета с циклом отрубить всплывание инфы об ошибках того, что вращается в цикле. Но это, похоже, нереально, без переделки и добавления обработчиков ошибок во все верхнеуровневые пакеты.
Повторюсь, сейчас все верхнеровневые пакеты работают без проблем, но в конце каждый выдаёт ошибку, т.к. где-то внизу была одна неудачная попытка.
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39921786
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UPD: ок, дополню, да, ошибся, если добавить ещё propagate=false у компонента, то и этот пакет не падает.
Но если учесть, что этот пакет вызывается ещё одним пакетом выше, то и там надо делать тоже самое. =D
Ну вот такой у нас исторически обросший пятиуровневый проект. Всё работает на ура, если не учитывать нюанс, что эти чертовы ошибки не остановить, без обработки на каждом уровне.

PS: пока решили забить на это, раз похоже это невозможно без тотальной доработки всех пакетов (а это повлечет тотал тест, риски и тд) или мб в обще пересмотра концепции вселенной (не вариант), пока всё решается настройкой фильтра в мониторинге ошибок))
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39921836
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karp13
UPD: ок, дополню, да, ошибся, если добавить ещё propagate=false у компонента, то и этот пакет не падает.
Но если учесть, что этот пакет вызывается ещё одним пакетом выше, то и там надо делать тоже самое. =D
Ну вот такой у нас исторически обросший пятиуровневый проект. Всё работает на ура, если не учитывать нюанс, что эти чертовы ошибки не остановить, без обработки на каждом уровне.

PS: пока решили забить на это, раз похоже это невозможно без тотальной доработки всех пакетов (а это повлечет тотал тест, риски и тд) или мб в обще пересмотра концепции вселенной (не вариант), пока всё решается настройкой фильтра в мониторинге ошибок))

да все нормально и в джобе.
Учитывая Вашу многоуровневую архитектуру, то, как вариант, попробуйте запускать вложенный пакет (который в цикле и может упасть) запускать не стандартным шагом а через ScriptTask, а там уж обернуть try catch
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39921867
Karp13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HandKotне стандартным шагом а через ScriptTask
О, огонь О_О , может сработать! Как я сам не додумался... Спасибо!
В следующую итерацию тыканья палочкой в эту задачу попробую!
Спасибо!!))
...
Рейтинг: 0 / 0
SSIS - как погасить ошибку в задаче?
    #39922897
Ferdipux
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Karp13,

В принципе, можете попробовать запустить пакет задачей Execute Package с параметром ExecuteOutOfProcess=true . По идее, пакет будет выполнен в другом процессе и статус ошибки может и не перейти. Но сам этого не пробовал.
По сути это несколько более удобный метод запуска пакета через Script Task.
...
Рейтинг: 0 / 0
39 сообщений из 39, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SSIS - как погасить ошибку в задаче?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]