我不熟悉SSIS,正在构建一个软件包来执行各种文件系统任务。除了单个序列容器内的一组Foreach循环容器外,所有对象均按预期工作。我的想法是我希望它们同时运行,但不希望程序包在所有程序都运行完之后进行下一步。
这些Foreach循环检查文件名中是否有特定的通配符,然后将其移动到另一个文件夹,并重命名该文件。当我手动执行每个Foreach Loop(右键单击容器,然后单击“执行容器”)时,容器和文件系统任务上的绿色复选标记会正确确认任务已执行,并且我看到文件已正确移动到目标文件夹。
但是当我尝试执行 entire 序列容器时,只有一个文件系统任务成功完成(似乎随机,因为每次尝试都不同)。尽管收到所有复选标记,但实际上只移动了一个文件并重命名了。
我还尝试添加约束以从一个容器流向另一个容器。这次,绿色复选标记出现在所有5个容器上,但是只有第一个文件系统任务被选中(并被移动并重命名)。好像跳过了其余任务。
如何确保每次运行软件包都完成所有任务?
编辑:这是我上次运行的执行结果:
答案 0 :(得分:0)
For-Each循环不执行的唯一方法是枚举器为空。在第一个随机选择的FE循环之后发生了一些事情,以确保其余的F-Each循环没有枚举。我将执行以下操作: