1

我有一个 SSIS 包,我从不同的 SQL Server 代理作业并行执行了几次。我使用命令行参数 /CONNECTION 将 ConnectionString 设置为连接管理器。

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

有没有办法在运行时覆盖连接管理器 ConnectionString?我需要这个功能,因为我对不同的设置使用相同的包,所以我不能“硬编码”ConnectionString。

4

2 回答 2

3

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

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

在运行时覆盖或提供ConnectionSting的另一种方法是开始使用包配置,如此所述。

于 2012-11-26T12:41:38.633 回答
1

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

于 2014-10-14T19:37:41.790 回答