Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 остановка SSIS при ошибке  [new]
x1mar1g
Member

Откуда:
Сообщений: 23
Добрый день.

Ситуация примерно такая:
Для отчета необходимо подхватить с двух серверов данные и скинуть на третий. С этим проблем нет.

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

При передаче неверных параметров пакет возвращает ошибку, но не прекращает выполнение и использует значения выставленные по умолчанию(для целых - 0). Что не совсем корректно, потому что вроде отчет и "формируется", но данные попадают не правильные, так как загрузились значения не те что были переданы.

Хоть и такой ситуации не может быть (инт передаем в инт внутри процедуры), но бывают и другие ситуации в которых, что-то может пойти не так.

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

Пример сформированного запроса для выполнения:
select 0 as id,code,name,qnty 
from table 
where code in (1,2,3);


Выражение(expression) для формирования:
"select " + (DT_WSTR, 10) @[$Package::ID_USER] + " as id,code,name,qnty 
from table 
where code in (" + @[$Package::VAR_CODE] + "; " 


Во вложении пример того как подгружаются данные:
id = 9 указанный правильно,
id = 0 загрузил пакет, который выполнился с ошибкой.

К сообщению приложен файл. Размер - 9Kb
11 ноя 15, 14:15    [18400160]     Ответить | Цитировать Сообщить модератору
 Re: остановка SSIS при ошибке  [new]
Glory
Member

Откуда:
Сообщений: 104751
В чем ваш вопрос то ?
Как остановить выполнение пакета при возникновении ошибки в каком-то из шагов ?
11 ноя 15, 15:00    [18400450]     Ответить | Цитировать Сообщить модератору
 Re: остановка SSIS при ошибке  [new]
x1mar1g
Member

Откуда:
Сообщений: 23
Glory,

Да. Потому что ошибка может быть разной и в таком случае нет смысла продолжать выполнение пакета.
12 ноя 15, 08:09    [18403930]     Ответить | Цитировать Сообщить модератору
 Re: остановка SSIS при ошибке  [new]
Ferdipux
Member

Откуда: Москва
Сообщений: 594
x1mar1g,

Чтобы остановить выполнение пакета по ошибке, нужно:
1. Чтобы задачи были соединены коннекторами с условием "по успешному завершению"
2. Свойство MaximumErrorCount пакета выставлено в 1 (это default)
12 ноя 15, 08:39    [18404005]     Ответить | Цитировать Сообщить модератору
 Re: остановка SSIS при ошибке  [new]
x1mar1g
Member

Откуда:
Сообщений: 23
Ferdipux,

Ferdipux
1. Чтобы задачи были соединены коннекторами с условием "по успешному завершению"


Можно подробнее?
12 ноя 15, 09:33    [18404192]     Ответить | Цитировать Сообщить модератору
 Re: остановка SSIS при ошибке  [new]
FRoST86
Member

Откуда:
Сообщений: 121
x1mar1g,

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

кроме того на них еще и условия можно накладывать.
12 ноя 15, 09:40    [18404215]     Ответить | Цитировать Сообщить модератору
 Re: остановка SSIS при ошибке  [new]
x1mar1g
Member

Откуда:
Сообщений: 23
FRoST86,

Спасибо.

На данном моменте был только одна задача потока в который передавался параметр...

Добавил первым пунктом вычисление выражения, которое потом используется как запрос и при ошибке пакет не отработал.

К сообщению приложен файл. Размер - 14Kb
12 ноя 15, 12:57    [18405716]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить