循环文件,提取文件名,向表添加名称,在每个文件上重复流程

时间:2017-11-08 23:46:12

标签: c# visual-studio-2015 ssis

以下答案

我无法确定导入文件夹中每个文件的正确流程,提取文件名,在文件名上运行脚本以仅使用文件名的一部分,然后插入主表。

我拥有我需要的所有部分:我能够使用Foreach循环遍历所有文件并将文件名作为变量。 Foreach容器内部是一个数据流任务,用于将记录从平面文件导入SQL表。离开循环,我的下一步是运行一个脚本来获取我需要的文件名部分。然后最后一步是SQL查询来运行一些转换并将记录移动到MasterStageFinal表。

我遇到的问题是Foreach循环每次向枚举器运行相同的次数,而不是每次运行每一步并运行每个枚举的整个序列。

因此,例如,在文件夹中我有两个文件,一个有250条记录,一个有500条。我当前的流程会将1500条记录插入数据库(由于枚举而导入两次文件),所有文件都带有零件号只来自其中一个文件。

那么,我怎样才能最好地解决这个问题呢?

enter image description here

Foreach循环属性

enter image description here

1 个答案:

答案 0 :(得分:0)

感谢这个网站,我找到了答案。 https://www.mssqltips.com/sqlservertip/2874/loop-through-flat-files-in-sql-server-integration-services/

这是我的最后一个流程。平面文件源使用由文件名/位置的Foreach循环启动的连接字符串。

enter image description here