2013-01-21 34 views
0

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

如何更改批处理文件中的命令,这样我可以在同一时间平行执行相同的SSIS包,用于目标连接管理器的连接字符串中设置不同的值

+0

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

+0

我正在使用SSIS版本2008 – user1668795

回答

1

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

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

start” 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 Connec tionString值。

+0

谢谢@安迪伦纳德 – user1668795

2

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

start "" yourProgram.exe parameter1 parameter2 ... 

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

+0

我的批处理文件中的代码是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;”\“。我需要同时执行两次ssis包PKG.dtsx和另一个目标连接string.ie的值。 \“”Data Source = datasrc2;初始目录= dbn2;用户ID = usrid;密码= pswd;提供程序= SQLOLEDB.1;“\”。我如何修改我的批处理文件来完成此操作? – user1668795

相关问题