Динамический список месяцев в параметризованном ssis sql - PullRequest
0 голосов
/ 02 октября 2019

Моя задача - загрузить данные с помощью динамического списка МЕСЯЦЕВ, которые взяты из базы данных. В SQL в предложении WHERE я хочу иметь условие «Где месяц IN (здесь предоставлен список месяцев)». Я создал процесс для того, который выглядит следующим образом:

  1. Загрузить все строки из таблицы спредоставил месяцы в локальную переменную проекта, которая имеет тип объекта
  2. В цикле «Для каждого» используйте сценарий, чтобы объединить эти месяцы в одну переменную и окончательно назначить этот результат в другую локальную переменную проекта, которая будет использоваться позже в этом предложении WHERE в SQL.
  3. Установите параметр в источнике ODBC как "WHERE MONTHID in (?)", Чтобы использовать эту объединенную переменную типа STRING в SQL.

Все работает нормально, если используется один месяциз базы данных. Когда у меня их больше одного, и я делаю эту строку, как мы обычно пишем «IN (a, b, c, d, e, f, ect)», я получаю сообщение об ошибке:

Descripción: 'Invalid character value for cast specification'.

Когда я изменил этообработать получение данных в FOR EACH LOOP месяц за месяцем и установить условие «WHERE MONTHID =?»все работает нормально.

Итак, вопрос в том, является ли это точным способом использования списка месяцев или существует способ динамически использовать условие «ГДЕ В (a, b, c, ect)»?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...