SSIS序列容器未执行每个任务

时间:2018-08-27 17:36:20

标签: ssis ssis-2016

我不熟悉SSIS,正在构建一个软件包来执行各种文件系统任务。除了单个序列容器内的一组Foreach循环容器外,所有对象均按预期工作。我的想法是我希望它们同时运行,但不希望程序包在所有程序都运行完之后进行下一步。

这些Foreach循环检查文件名中是否有特定的通配符,然后将其移动到另一个文件夹,并重命名该文件。当我手动执行每个Foreach Loop(右键单击容器,然后单击“执行容器”)时,容器和文件系统任务上的绿色复选标记会正确确认任务已执行,并且我看到文件已正确移动到目标文件夹。

enter image description here

但是当我尝试执行 entire 序列容器时,只有一个文件系统任务成功完成(似乎随机,因为每次尝试都不同)。尽管收到所有复选标记,但实际上只移动了一个文件并重命名了。

enter image description here

我还尝试添加约束以从一个容器流向另一个容器。这次,绿色复选标记出现在所有5个容器上,但是只有第一个文件系统任务被选中(并被移动并重命名)。好像跳过了其余任务。

enter image description here

如何确保每次运行软件包都完成所有任务?

编辑:这是我上次运行的执行结果:

enter image description here

1 个答案:

答案 0 :(得分:0)

For-Each循环不执行的唯一方法是枚举器为空。在第一个随机选择的FE循环之后发生了一些事情,以确保其余的F-Each循环没有枚举。我将执行以下操作:

  • 将变量值更改的断点放在用于 源文件夹,以及要移动的每个文件。我去 带有消息框的脚本任务的长度,该消息框显示 文件路径。将这些断点放在每个循环上。
  • 确保您的文件路径完全合格,以便使用的源确实正确
  • 检查进度标签以获取详细的FE循环