Как использовать значение переменной, созданной в задаче «Выполнение SQL» в редакторе ограничений предшествования? - PullRequest
0 голосов
/ 28 января 2019

enter image description here Мне нужно запустить n-кратную задачу «Выполнение SQL» на основе значения n-кратной переменной (isnull true или false).Эта переменная создается в сценарии ssms в предыдущей задаче выполнения sql (Условный запрос).Как вывести значение переменной из сценария ssms в условное выражение в ssis?

две мои переменные @beneficiary и @gempar.Они либо хранят значение типа даты, либо ноль.

enter image description here

Ответы [ 3 ]

0 голосов
/ 28 января 2019

Задача условного запроса должна иметь «Result Set», установленный в «Single Row», как на скриншоте:

enter image description here

Тогдапросто присвойте свои переменные выходным столбцам:

enter image description here

Если ваш запрос возвращает два значения, вы можете использовать порядковые позиции,

, поэтому ResultName= 0, может быть сопоставлен с @beneficiary и ResultName 1 с @gempar

Подробнее: Основы служб SSIS: использование задачи «Выполнение SQL» для генерации наборов результатов


Обновление: Сценарий, используемый в задаче T-SQL, должен возвращать значения через SELECT, но не через PRINT:

--SOME SELECTs..
..
SELECT @benefeciary, @gempar
0 голосов
/ 21 июля 2019

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

Attachedодин из моих пакетов служб SSIS с переменной HasRecord.Нажмите Execute SQL Task и установите ExecValueVariable на нужную переменную, User::HasRecord.

enter image description here

enter image description here

0 голосов
/ 28 января 2019

Вы можете указать ResultSet внутри Задачи выполнения SQL и отобразить результат в переменную, выполнив следующие действия:

  1. В конце оператора SQL добавьте следующую строку

    SELECT @benefeciary as benefeciary, @gempar as gempar
    
  2. В задаче «Выполнение SQL» измените параметр ResultSet на single Row

  3. Перейти на вкладку «Набор результатов»
  4. Сопоставьте индекс столбца (начиная с 0) с соответствующей переменной

    0 >> benefeciary
    1 >> gempar
    

. Более подробно есть множество статей, описывающих этот процесс:

  1. Основы служб SSIS: использование задачи «Выполнение SQL» для создания наборов результатов
  2. Сопоставление наборов результатов с переменными в задаче «Выполнение SQL»
  3. Как установить и использовать переменные в SSIS Задача «Выполнение SQL»
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...