Sql server SSIS,如何使用配置文件中的值?

Sql server SSIS,如何使用配置文件中的值?,sql-server,visual-studio,ssis,Sql Server,Visual Studio,Ssis,我已经使用MS Visual Studio 2008创建了一个商业智能项目。 在dtsx中,我有一个简单的邮件任务。如何使用dtsConfig文件中的MailTo变量 hello@world.com 现在我正在使用windows批处理脚本来运行这个dtsx包 dtexec /f "D:\MyPath\Sample.dtsx" /conf "D:\MyPath\Sample.dtsConfig" 当我在更改配置文件变量[User::MailTo]后执行时,它就不起作用了。 它正在将邮件发送

我已经使用MS Visual Studio 2008创建了一个商业智能项目。 在dtsx中,我有一个简单的邮件任务。如何使用dtsConfig文件中的MailTo变量


hello@world.com 

现在我正在使用windows批处理脚本来运行这个dtsx包

dtexec /f "D:\MyPath\Sample.dtsx" /conf "D:\MyPath\Sample.dtsConfig"
当我在更改配置文件变量
[User::MailTo]
后执行时,它就不起作用了。 它正在将邮件发送到上一个邮件id

如何在运行时使用dtsConfig文件中的变量
[User::MailTo]


提前感谢…

该变量存在于SSI的根/包级别。变量可以存在于其他作用域中,因此确定变量存在的位置很重要

您正在使用的配置文件在运行时分配的值为“hello@world.com“致@[User::MailTo]

如果引发了一个事件,则可以从设计时值中看到MailTo更改的值TempExpt@other.net设置为配置文件中的值。现在的技巧是让邮件任务使用变量,而不是硬编码的值

这是通过表达式实现的。SSIS中的每个对象都公开一个表达式集合。您可能有一个看似简单的包,但它可以通过链接到其他表达式的表达式从这里连接到无穷远。我经常提到,专业人士和失败者之间的区别在于对表达式、配置和日志的明智使用

双击“发送邮件”任务,应该有一个“表达式”选项卡。在其中的第一个网格中,单击下拉列表,直到找到“收件人”字段。在下一列中,使用变量
@[User::MailTo]


虽然可以使用编辑器在对象上构造复杂表达式,但我强烈建议不要这样做。创建一个变量,在那里使用复杂的表达式逻辑,并在对象中引用该变量。原因是支持和维护。无法检查对象以查看表达式是什么。如果它们坏了,你的软件包就爆炸了,你没有办法解决问题。如果它只是一个表达式,您可以在它们上设置一个断点,然后检查变量以查找错误。

您好,谢谢您的回复。是的,我在MailTask中使用了表达式。变量存在于包级别。但它不起作用。我应该将变量更改为任务级别吗?不,将其保留在包级别。定义“它不起作用”