2013-08-25 3 views
0

У меня есть пакет SSIS, где у меня есть для каждого цикла, который запускает хранимые процедуры. Контейнер цикла передает параметры хранимым процедурам. В некоторых случаях мне нужно передать все параметры хранимой процедуре, а в других случаях мне нужно передать только один параметр. Есть ли способ, которым я могу установить, должен ли передаваться параметр или нет? Может быть, это возможно, используя Expression in Loop container?disable pass sp параметр

+0

Вы можете обработать логику в задаче сценария, которая также вызовет SP, или вы можете использовать контейнеры последовательностей для применения логики [пример] (http://stackoverflow.com/questions/9530983/ssis-execute-first- task-if-condition-met-else-skip-to-next) –

+1

Как установить значение по умолчанию для необязательных параметров в хранимой процедуре и, соответственно, обрабатывать их в хранимом процессе? Тогда задача вызывающего абонента в SSIS будет иметь право передавать один или все параметры. Другой подход может состоять в том, чтобы передать это значение по умолчанию из SSIS. Любой из этих методов потребует, чтобы вы знали внутри SSIS, как именно вы хотите вызвать SP. Если вам нужна дополнительная помощь, вернитесь назад, и я могу оказать дополнительную помощь. –

ответ

2

Возможно. Может быть. Вероятно. Поскольку вопрос стоит, это довольно сложно сказать.

Потребность заключается в том, чтобы поставлять параметры или не основываться на «логике, не заданной в вопросе». У вас может быть несколько Execute SQL Tasks с ограничением приоритета, включающим различные задачи.

Альтернативным решением было бы использовать выражение для вашего запроса и передать параметры как часть текста. Я назвал некоторые причины вы можете не хотите сделать его более на этом answer

Еще один подход может быть, что вы обнулять параметры в задаче, где необходимо как @TI referenced

Если нужна конкретика , пожалуйста, отредактируйте свой вопрос, чтобы он содержал специфику.

Смежные вопросы