2016-04-05 2 views
0

У меня есть пакет SSIS, который является общим экспортером данных. У меня есть таблица заданий в базе данных, которая будет запущена. В настоящее время это работает, читая SQL, хранящиеся в столбце, а затем выполняющие его.SSIS Выполнение SQL-задачи, передающей массив параметров хранимой процедуре

Я собираюсь преобразовать sql, хранящийся в столбце, в хранимую процедуру (так как это может быть проверено в исходное управление). Проблема, которую я имею, заключается в том, что разные задания имеют различное количество параметров для SQL.

Итак, у меня есть таблица, содержащая идентификатор задания, имя параметра, значение параметра и порядок параметров.

Как мне выполнить SQL-задачу с выполнением задачи, чтобы назначить параметры хранимой процедуре? Поскольку я не знаю, сколько параметров есть.

Я предполагаю, что я мог бы построить строку

exec proc param1value, param2value 

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

ответ

0

Нет, вы не можете передать массив параметров в задачу ExecuteSQL.

Вы можете выполнить динамическую строку SQL, как вы описали, но то, что я хотел бы сделать, это передать только один параметр (JobId или любой другой PK таблицы Jobs) в хранимую процедуру и обработать хранимую процедуру логика других параметров.

У меня есть таблица, содержащая идентификатор задания, имя параметра, значение параметра и порядок параметров.

Таким образом, вся хранимая процедура должна выполнить запрос этой таблицы и получить все строки для идентификатора задания и построить динамическую SQL-строку, используя все пары имя/значение параметра и выполнить ее.

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