我有一个 ScriptTask ,它将XML电子邮件模板中的节点值分配给SSIS包变量。然后我在 SendMailTask 中使用这些变量。在 SendMailTask 中,当我为 MessageSource 字段创建以下表达式时:
"There was an error in processing order #" + @[User::ErrorOrderId] + " for the vendor " + @[User::ErrorVendorName] + "."
我在电子邮件正文中得到结果:
There was an error in processing order #000000 for the vendor Acme.
这是我想要的输出。但是,当我将相同的表达式添加到XML电子邮件模板时,并在 ScriptTask 中将该表达式分配给变量 @ [User :: EmailErrorMessage] 。在 SendMailTask 表达式中,我为 MessageSource 字段分配了该变量,电子邮件中的输出是字符串文字而没有和参数被替换:
"There was an error in processing order #" + @[User::ErrorOrderId] + " for the vendor " + @[User::ErrorVendorName] + "."
我的问题是,有没有办法将SSIS表达式作为变量传递?
答案 0 :(得分:0)
将您分配给@ [User :: EmailErrorMessage]的变量的EvaluateAsExpression属性设置为True。 (在“变量”窗口中选择变量,然后选中“属性”窗口。)