【发布时间】:2013-09-30 11:24:25
【问题描述】:
我有一个 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_*
【问题讨论】:
-
您必须按照指定的顺序运行它们吗?在我看来,首先运行具有最小/最具体范围的包似乎是最好的做法。但是,如果您依赖其他文件中的数据,这是不可行的。
-
@Nighty_ 软件包不会删除文件——它们只是读取数据。所以,按一定的顺序跑是没有区别的。
-
啊哈。那么已经读取的文件没有存档吗?这可以通过文件系统任务轻松实现。然后你不必多次阅读同一个文件(除非那是你想要的)并且通过首先运行“商业”包你会得到你想要的。我不知道你被允许/不允许做什么,但这可能是完成它的好方法。
-
@Nighty_,很遗憾我们只能读取文件。
标签: ssis foreach-loop-container