【问题标题】:Same SSIS package parallely executing with different parameters through batch file相同的 SSIS 包通过批处理文件以不同的参数并行执行
【发布时间】:2013-01-21 10:00:10
【问题描述】:

我有一个包含 OLEDB 源和 OLEDB 目标的数据流任务的 SSIS 包。同样,我有一个批处理文件(.bat 文件)来执行 SSIS 包,使用 dtexec 命令。在批处理文件中,我正在设置 oledb 目标连接管理器的 ConnectionString 属性。 我需要 SSIS 包以不同的目标连接字符串值并行执行,因为我必须同时填充多个目标表。

如何更改批处理文件命令,以便我可以同时并行执行相同的 SSIS 包,为目标连接管理器的连接字符串设置不同的值

【问题讨论】:

  • 您运行的是哪个版本的 SSIS?我问是因为 SSIS 2012 为这种情况提供了新的和不同的解决方案。
  • 我使用的是 SSIS 2008 版

标签: batch-file ssis


【解决方案1】:

您应该使用 START 命令来并行运行控制台应用程序。不要忘记添加标题作为第一个参数。您可以使用空引号作为空标题的第一个参数。

start "" yourProgram.exe parameter1 parameter2 ...

您启动的每个命令都将在其自己的控制台窗口中运行。在命令提示符下键入 start /?help start 以获取更多信息。

【讨论】:

  • 我的批处理文件中的代码是 dtexec /FILE "C:\Users\Desktop\SSIS\PKG.dtsx" /MAXCONCURRENT " 2 " /SET "\Package.Connections[Destination].Properties[ ConnectionString]";\""数据源=datasrc1;初始目录=db1;用户ID=usrid;密码=pswd;提供者=SQLOLEDB.1;"\"。我需要同时执行 ssis 包 PKG.dtsx 两次,目标连接 string.ie 的另一个值。 \""数据源=datasrc2;初始目录=dbn2;用户ID=usrid;密码=pswd;提供者=SQLOLEDB.1;"\"。我怎样才能修改我的批处理文件来完成这个?
【解决方案2】:

dbenham 是正确的。在批处理文件中使用 Start 命令(使用您的示例):

启动 "实例 1" dtexec /FILE "C:\Users\Desktop\SSIS\PKG.dtsx" /MAXCONCURRENT " 2 " /SET "\Package.Connections[Destination].Properties[ConnectionString]";\""数据源=datasrc1;初始目录=db1;用户ID=usrid;密码=pswd;Provider=SQLOLEDB.1;"\"

启动 "实例 2" dtexec /FILE "C:\Users\Desktop\SSIS\PKG.dtsx" /MAXCONCURRENT " 2 " /SET "\Package.Connections[Destination].Properties[ConnectionString]";\""数据源=datasrc2;初始目录=dbn2;用户ID=usrid;密码=pswd;Provider=SQLOLEDB.1;"\"

这些将与不同的目标连接字符串值并行执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多