我有一个包含 OLEDB 源和 OLEDB 目标的数据流任务的 SSIS 包。同样,我有一个批处理文件(.bat 文件)来执行 SSIS 包,使用 dtexec 命令。在批处理文件中,我正在设置 oledb 目标连接管理器的 ConnectionString 属性。我需要 SSIS 包以不同的目标连接字符串值并行执行,因为我必须同时填充多个目标表。
如何更改批处理文件命令,以便我可以同时并行执行相同的 SSIS 包,为目标连接管理器的连接字符串设置不同的值
我有一个包含 OLEDB 源和 OLEDB 目标的数据流任务的 SSIS 包。同样,我有一个批处理文件(.bat 文件)来执行 SSIS 包,使用 dtexec 命令。在批处理文件中,我正在设置 oledb 目标连接管理器的 ConnectionString 属性。我需要 SSIS 包以不同的目标连接字符串值并行执行,因为我必须同时填充多个目标表。
如何更改批处理文件命令,以便我可以同时并行执行相同的 SSIS 包,为目标连接管理器的连接字符串设置不同的值
您应该使用 START 命令来并行运行控制台应用程序。不要忘记添加标题作为第一个参数。您可以使用空引号作为空标题的第一个参数。
start "" yourProgram.exe parameter1 parameter2 ...
您启动的每个命令都将在其自己的控制台窗口中运行。键入start /?
或help start
从命令提示符获取更多信息。
德本汉姆是正确的。在批处理文件中使用 Start 命令(使用您的示例):
启动 "实例 1" dtexec /FILE "C:\Users\Desktop\SSIS\PKG.dtsx" /MAXCONCURRENT " 2 " /SET "\Package.Connections[Destination].Properties[ConnectionString]";\""Data Source= datasrc1;初始目录=db1;用户ID=usrid;密码=pswd;提供者=SQLOLEDB.1;"\"
开始 "实例 2" dtexec /FILE "C:\Users\Desktop\SSIS\PKG.dtsx" /MAXCONCURRENT " 2 " /SET "\Package.Connections[Destination].Properties[ConnectionString]";\""Data Source= datasrc2;初始目录=dbn2;用户ID=usrid;密码=pswd;提供者=SQLOLEDB.1;"\"
这些将与不同的 Destination ConnectionString 值并行执行。