2016-07-13 3 views
0

Я знаю, что это должно быть очень просто, но я не могу заставить его работать. Я использую выполнение SQL Task в потоке управления с намерением установить 2 user_variables, vRunID и vRelease. У меня есть очень простой оператор выбора, где я получаю одну строку, 2 колонки:Пользовательская переменная SSIS не обновляется в выполнении SQL-задачи

SELECT Id, release 
FROM [Test].[Run] 
where id = (select max(id) FROM [Test].[Run]) 

в закладке результирующего набора, я пытался отображение с помощью «Результат Name» S обоих столбцов (Id и релиз) и 0,1 в «Имя переменной имени пользователя :: vRunID и User :: vRelease. Я не могу изменить значения переменных. Если я жестко задаю значения переменных, все работает нормально, но я хотел бы, чтобы это было основано на выводе, поэтому мы можем просто запустить пакет и не иметь жесткого кода значений (именно поэтому мы используем SSIS в первую очередь) Есть ли что-то простое, что мне не хватает? Нужно ли мне что-то устанавливать в параметрах? Наблюдая за бесчисленными онлайн-видео, похоже, что у меня все настроено так, как должно, но оно не будет загружать значения.

+0

Откуда вы знаете, что они не меняются? –

+0

Включите точку останова после проверки и просмотрите переменные. Изменений не было. – CJS

ответ

0

Я думаю, ваша проблема в том, что окно переменных не обновляется во время выполнения. Я нашел два элемента, которые путали меня в отношении переменных в прошлом. Во-первых, текущее значение переменных во время выполнения можно найти, посмотрев окна часов или локалей в меню отладки. Во-вторых, мне пришлось использовать «start» вместо выполнения задачи/контейнера, чтобы это работало. Поэтому, если бы я хотел отлаживать третий контейнер в моем пакете, я мог либо запустить все это, либо, если возможно, отключить первые два контейнера, чтобы я мог «отлаживать» третий контейнер. Надеюсь, это поможет.

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