在运行时覆盖SSIS连接管理器ConnectionString

时间:2012-11-26 08:32:52

标签: ssis

我有一个SSIS包,我从不同的SQL Server代理作业并行执行多次。我使用命令行参数/ CONNECTION将ConnectionString设置为Connection Manager。

似乎SSIS再次使用设计时值覆盖我的运行时ConnectionString。我还发现了一篇MSDN文章,说明确实发生了这种情况 http://msdn.microsoft.com/en-us/library/bb500430(v=sql.105).aspx

有没有办法在运行时覆盖Connection Manager ConnectionString?我需要这个功能,因为我使用相同的软件包进行不同的设置,所以我不能“硬编码”ConnectionString。

2 个答案:

答案 0 :(得分:3)

如果您仅限于使用命令行,则使用 / SET 在运行时更改变量的值并使用表达式,从中构建连接字符串变量(如上面发布的链接表示/ SET覆盖设计时值,而/ CONNECTION则不会。)

dtexec /f mypackage.dtsx /set \package.variables[myvariable].Value;myvalue

在运行时覆盖或提供 ConnectionSting 的另一种方法是按照here所述开始使用包配置

答案 1 :(得分:1)

使用记事本编辑[mypackage].dtsx,手动更改ConnectionString,然后保存。