Задача SSIS Expression не может видеть переменные, заполненные содержащим цикл foreach

Я пытаюсь собрать список путей к файлам из каталога, объединить их вместе, а затем отправить это значение в задачу выполнения процесса. Для этого я использую цикл ForEach с задачей выражения внутри, которая должна помещать путь от каждой итерации цикла в переменную. Проблема в том, что при запуске задачи выражения выдается следующая ошибка.

Error: The type of the value (Empty) being assigned to variable "User::CombinedPath"
differs from the current variable type (String). Variables may not change type
during execution. Variable types are strict, except for variables of type Object.

Задача выражения в основном делает это:

@[User::PathFromForEach] + ";"

Однако похоже, что @[User::PathFromForEach] приходит пустым.

Что тут происходит?


person Devin Goble    schedule 15.03.2013    source источник
comment
Ну, я проболел неделю и думал, что без меня может что-то случиться. Думаю, нет. :П   -  person Devin Goble    schedule 25.03.2013


Ответы (1)


Я предполагаю, что вы установили свойство ExecValueVariable задачи Expression в переменную @[User::CombinedPath]. Ну, это не то место. Вам нужно изменитьExecValueVariable обратно на None и написать выражение как:

@[User::CombinedPath]=@[User::PathFromForEach] + ";"

Вот и все, нам нужно использовать только свойство Expression, больше ничего. Свойство «Выражение» — это место, где переменной фактически присваивается значение. Я полагаю, что было бы лучше назвать свойство «Присвоение», а не «Выражение».

person Jian Fu    schedule 06.04.2013