1

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

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

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

4

3 回答 3

7

假设您已经粘贴了 SQL 代理作业步骤信息并且没有重新输入,那么问题很可能是由于区分大小写。SSIS中的内容区分大小写,因此“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 的示例也使用提供的路径区分大小写。

于 2013-02-06T18:27:53.383 回答
0

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

看起来你们很亲近。可能只是改变

"\package.variables[log].Value"

"\package.variables[log].properties[value]"
于 2013-02-06T17:17:49.560 回答
0

我必须将 ConfiguredValue 标记为从 SSIS 包和配置中的 Executable 值读取

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

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

于 2014-10-29T22:43:52.110 回答