SSIS发送邮件任务 - 在变量中传递表达式

时间:2016-03-30 14:10:50

标签: c# ssis

我有一个 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表达式作为变量传递?

1 个答案:

答案 0 :(得分:0)

将您分配给@ [User :: EmailErrorMessage]的变量的EvaluateAsExpression属性设置为True。 (在“变量”窗口中选择变量,然后选中“属性”窗口。)