0

本质上,我是一个带有 Execute SQL 语句的 SSIS pkg,该语句根据某些表值动态编写 REPLACE 函数。(即REPLACE(REPLACE(Col1," * ","",),"@@@","")

ExecuteSQL 结果被放入变量@Cleanse

在我的派生列转换中,我试图调用 @User::Cleanse 作为表达式来替换 DataFlow 中的 Col1 的值。

结果似乎是提取 @Cleanse 的结果并将其用作字符串值,而不是将其用作 REPLACE 函数。

调试时@Cleanse 值似乎将 \ 放入字符串中,我认为这并不重要,因为它似乎将其应用于其他值而没有问题

结果是,当用完 CSV 时,这就是

Col1 中的“替换(替换(Col1”)

Col2 中的“ * ”

) 在 Col3 等中

如何让派生列转换“看到”变量作为函数,而不是字符串值?

提前谢谢了

4

1 回答 1

1

EvaluateAsExpression变量的属性设置为True

但是,使用执行 SQL 任务窗格将变量作为参数绑定到 SQL 查询Variable Mappings可能是更好的解决方案

于 2012-07-12T08:45:33.063 回答