我是SSIS新手,正在构建一个包来执行各种文件系统任务。除了位于单个序列容器中的一组Foreach循环容器外,所有对象都按预期工作。我的想法是,我希望它们同时运行,但不希望包在所有程序都运行完之前进入下一步。
这些Foreach循环检查文件名中的特定通配符,并将其移动到另一个文件夹,同时重命名该文件。当我手动执行每个Foreach循环时(右键单击容器并点击execute Container),container和File System task上的绿色复选标记确认任务正确执行,并且我看到文件已正确移动到目标文件夹。
但是当我尝试执行整个Sequence Container时,只有一个文件系统任务成功完成(似乎是随机的,因为我每次尝试都是不同的)。尽管收到了所有复选标记,但实际上只有一个文件被移动和重命名。
我还尝试添加约束以从一个容器流向下一个容器。这一次,绿色复选标记出现在所有5个容器上,但只有第一个文件系统任务被选中(并已移动并重命名)。这就好像跳过了其余的任务。
如何确保每次运行包时都完成所有任务?
编辑:这是我最后一次运行的执行结果:
发布于 2018-08-28 03:14:54
如果枚举器为空,则不执行For-Each循环的唯一方法。在第一个随机选择的FE循环之后发生了一些事情,以确保F-Each循环的其余部分没有枚举。我会做以下事情:
https://stackoverflow.com/questions/52044385
复制相似问题