首页 > 解决方案 > SSIS For Each Item Loop 在递归期间读取相同的文件

问题描述

我一直在尝试使用 For Each Item Loop 使用多种方法提取文件列表(VB 脚本,直接用于具有平面文件连接的每个循环,甚至执行用于 cmd 行扫描的进程任务)。

我注意到的是,当我启用数据查看器时,我倾向于多次列出相同的文件。

这对于 SSIS/对于每个循环是否常见?

此外,当我尝试将此列表导入 SQL 表时(在过滤掉重复项后),我只收到了部分被清点的文件列表。

我必须假设递归到我的变量存在问题,导致变量为多个“通过”保存相同的文件/路径。

这是我的尝试......对于每个 在此处输入图像描述

变量映射 在此处输入图像描述

插入的 SQL 语句 在此处输入图像描述

参数映射 在此处输入图像描述

变量

在此处输入图像描述

标签: sql-serverrecursionssis

解决方案


看起来这个问题是来自 NAS 的某种限制。最终使用带有 cmd.exe 和参数的执行进程任务。
似乎任何运行速度更快的东西都会导致数据问题。

测试总结是否可能对未来的人有所帮助:

  1. 使用 cmd 执行进程 = 最快的 w/ 完整数据
  2. 使用 Power Shell=(get child) 执行进程较慢 w/完整数据
  3. 使用 Power Shell=(Enum Files) 执行进程最快的数据丢失
  4. 每个循环的 SSIS = 缓慢的不稳定数据(重复和丢失)

推荐阅读