SSIS排除Foreach循环容器中的某些文件

时间:2013-09-30 11:24:26

标签: ssis foreach-loop-container

我有一个SSIS包,可以从特定目录加载csv文件,使用表达式和通配符来获取所有文件。

目前,容器的FileSpec会查找具有以下格式的所有文件:

  

fileName_environment _ *

这很好用。第二组文件现在从同一目录加载,为了区分这些文件,文件格式为:

  

fileName_environment_business _ *

因此,第二个SSIS包只选择新文件,因为文件结构如下:

filename_environment_abc 
filename_environment_def
filename_environment_xyz 
filename_environment_business_abc
filename_environment_business_def 
filename_environment_business_xyz

但第一个包将处理所有文件。

所以,问题是,我是否可以设置第一个SSIS包的FileSpec来忽略格式为的文件:

  

fileName_environment_business _ *

1 个答案:

答案 0 :(得分:6)

在foreach循环容器中,在您已经拥有的第一个块之前放置一个虚拟Script task。用线条连接这两个并将Constraint Options设置为表达式,您应在其中定义FINDSTRING函数:

FINDSTRING(@var, "business", 1) == 0

其中@var是循环可迭代的。

只有没有“business”的文件才会进入下一步。希望这是你想要的。