Sql server 2012 SSIS表达式任务可以';看不到由包含foreach循环填充的变量

Sql server 2012 SSIS表达式任务可以';看不到由包含foreach循环填充的变量,sql-server-2012,ssis-2012,Sql Server 2012,Ssis 2012,我试图从目录中收集文件路径列表,将它们连接在一起,然后将该值发送到执行进程任务。为了做到这一点,我使用了一个ForEach循环,其中包含一个表达式任务,该任务应该将循环每次迭代的路径填充到一个变量中。问题是,当表达式任务运行时,它会抛出以下错误 Error: The type of the value (Empty) being assigned to variable "User::CombinedPath" differs from the current variable type (St

我试图从目录中收集文件路径列表,将它们连接在一起,然后将该值发送到执行进程任务。为了做到这一点,我使用了一个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]似乎是空的


这是怎么回事?

我猜您已经将Expression task的ExecValueVariable属性设置为变量@[User::CombinedPath]。嗯,这不是个好地方。您需要将ExecValueVariable更改回None,并将表达式编写为:

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

就是这样,我们只需要使用表达式属性,其他什么都不用。“Expression”属性是变量实际赋值的位置。。我想最好把这家酒店称为“转让”而不是“表达”。

嗯,我病了一个星期,觉得没有我可能会发生什么事。我想不是P