相同的SSIS包通过批处理文件并行执行不同的参数

时间:2013-01-21 10:00:10

标签: batch-file ssis

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

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

2 个答案:

答案 0 :(得分:2)

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

start "" yourProgram.exe parameter1 parameter2 ...

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

答案 1 :(得分:1)

dbenham是对的。使用批处理文件中的“启动”命令(使用您的示例):

启动“实例1”dtexec / FILE“C:\ Users \ Desktop \ SSIS \ PKG.dtsx”/ MAXCONCURRENT“2”/ SET“\ Package.Connections [Destination] .Properties [ConnectionString]”; \“” Data Source = datasrc1; Initial Catalog = db1; User ID = usrid; Password = pswd; Provider = SQLOLEDB.1;“\”

启动“实例2”dtexec / FILE“C:\ Users \ Desktop \ SSIS \ PKG.dtsx”/ MAXCONCURRENT“2”/ SET“\ Package.Connections [Destination] .Properties [ConnectionString]”; \“” Data Source = datasrc2; Initial Catalog = dbn2; User ID = usrid; Password = pswd; Provider = SQLOLEDB.1;“\”

这些将与不同的Destination ConnectionString值并行执行。