SSIS-如何在当前步骤完成之前使控制流继续?
我有一个查询,它轮询一个表以获取要启动的计划ETL任务。该查询为我提供了包名和需要提供给它的参数。我希望并行执行所有这些任务,但由于要运行的计划任务的数量是动态的,因此我使用ForEach循环器迭代查询返回的每一行,并同样动态地执行它们。这显然是串行的,而不是并行的。我希望控制流启动SSIS包并继续下一次迭代,启动下一个包,等等,而不是等待一个包完成后再启动下一个包SSIS-如何在当前步骤完成之前使控制流继续?,ssis,Ssis,我有一个查询,它轮询一个表以获取要启动的计划ETL任务。该查询为我提供了包名和需要提供给它的参数。我希望并行执行所有这些任务,但由于要运行的计划任务的数量是动态的,因此我使用ForEach循环器迭代查询返回的每一行,并同样动态地执行它们。这显然是串行的,而不是并行的。我希望控制流启动SSIS包并继续下一次迭代,启动下一个包,等等,而不是等待一个包完成后再启动下一个包 有什么方法可以做到这一点吗?确切的解决方案取决于应用程序的细节,但作为一种通用方法,我建议将表读入一个或多个变量,并使用这些变量的
有什么方法可以做到这一点吗?确切的解决方案取决于应用程序的细节,但作为一种通用方法,我建议将表读入一个或多个变量,并使用这些变量的值作为优先约束来相应地执行包。这将避免使用for循环,并提供并行性 另一个需要探索的解决方案是SQLServer代理,它在大多数情况下都做得不错 SSIS示例。假设我们将sql server中的任务读入变量RunTask1、RunTask2、RunTask3、RunTask4和RunTask5。如果变量的值为1,我们将运行相应的任务,而不会运行任何其他值。下图显示了如何将此数据用作优先约束(示例中的任务3):
使用先行约束听起来是一个有趣的选择,但我不确定我是否遵循了。如果我已将队列任务表加载到变量中,如何从precendence约束控件读取该变量?另外,这将如何提供并行性?也许你可以给我举个例子来说明你的意思….?我已经添加了一个例子。谢谢。例如,如果我有多个Task1实例(当然有不同的参数)需要并行运行该怎么办?