在SQL代理作业中设置SSIS变量

时间:2013-02-06 17:00:02

标签: sql-server-2008 ssis

我在SQL Server代理程序作业中运行SSIS包。我需要为生产设置几个变量,因为我使用开发设置进行开发,例如,这是一个日志变量,它传递用于文本文件连接字符串的路径。我使用“设置值”UI对话框来设置此值,此作业步骤的结果命令行如下所示...

/SQL "\MyFolderInMSDB\MyPackage" /SERVER "mw-test"  /CHECKPOINTING OFF /SET "\package.variables[log].Value";"C:\Logs\Imports\mylog.log" /REPORTING E

尝试设置变量时似乎没有错误,但是当我运行作业时,它会记录到我开发它时在任务中定义的变量,而不是我作为上面变量发送的路径。有人见过这样的东西吗?

3 个答案:

答案 0 :(得分:7)

假设您已粘贴SQL代理作业步骤信息而未重新输入,则问题很可能是由于区分大小写。 SSIS中的 Stuff 区分大小写,因此“log”的变量名称与“Log”不同。

/SQL "\MyFolderInMSDB\MyPackage" /SERVER "mw-test" /CHECKPOINTING OFF /SET "\Package.Variables[User::log].Properties[Value]";"C:\Logs\Imports\mylog.log" /REPORTING E

@ Bill上面的示例也使用提供的路径进行区分大小写。

答案 1 :(得分:0)

试试这个:http://www.buildingmeaning.com/?p=171

看起来你非常接近。可能只是改变

"\package.variables[log].Value"

"\package.variables[log].properties[value]"

答案 2 :(得分:0)

我必须将ConfiguredValue标记为从SSIS包中的可执行文件值中读取并配置

\Package\Variable Container.Executables\Variables[User::run_type].Properties[Value]

否则,每次都会读取配置中的静态值。