SSIS ForEach - Получить текущую стоимость коллекции - PullRequest
2 голосов
/ 30 сентября 2019

У меня есть переменная User: AllBatches (ObJect), заполненная из SQL-запроса ADO.NET. Запрос SQL возвращает один столбец целых чисел. Эта часть моего пакета работает.

Следующим шагом является цикл ForEach с использованием User: AllBatches в качестве перечислителя переменной.

В разделе отображения переменных выберите переменную для сопоставления с коллекцией. индекс переменной 0. Однако, если я выбираю любой тип переменной, отличный от Object, ошибки пакета.

Если я выбираю переменную Object, моя задача SQL завершается ошибкой с Unsupported Data Type при привязке параметра, и я не могу получитьзначение объекта для использования в задаче SQL внутри цикла.

Если я установлю его как Int32, то получу, что Tyoe of the Variable (DBNULL) отличается от текущего типа переменной (INT32).

SO, если отображение коллекции переменных будет поддерживать толькоТип объекта, как я могу получить значение INTEGER из этой выходной переменной объекта.

1 Ответ

1 голос
/ 30 сентября 2019

Вам не нужно использовать Переменный перечислитель , вы должны использовать ADO enumerator вместо этого и выбрать циклическое перемещение по строкам в первой таблице. Проверьте следующий пример:

Обратите внимание, что результат задачи «Выполнение SQL» сохраняется как ADOНабор записей в переменной Object. С другой стороны, переменный перечислитель используется для зацикливания объектной переменной, которая содержит список или массив, сгенерированный из сценария.

Подробнее о типах перечислителей можно узнать по следующей ссылке:

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