从一个文件夹中的多个平面文件读取特定文件,这些文件在SSIS中具有不同的名称和不同的体系结构?

时间:2018-07-21 09:42:54

标签: ssis

嗨,我在一个文件夹中有一些平面文件,名称如下。

C_Report-oct18.csv
C_Report-Nov18.csv
Gs_1012_Report-apr17.csv
Gs_1013_Report-apr17.csv
Gs_Price_Report-may18.csv

这里所有文件的列类型都不同,其计数,名称,数据类型, 但是只需要读取“ Gs_1012_report,Gs_1013_report”之类的文件即可。并且还希望在单独的一列中添加1012、1013代码。

1 个答案:

答案 0 :(得分:0)

SSIS连接管理器是静态的-它们不是动态的,这意味着您将必须为列不完全匹配的每个文件创建一个连接。

现在,假设每个文件布局都有100个文件,那么您可以为每个文件布局创建一个连接管理器,然后添加一个foreach文件枚举器来遍历所有文件,读入它们,并使用他们的数据。

更新

允许我根据您的评论澄清我的答案。对于文件Architecture,连接管理器是静态的。任何尝试读取具有不同名称,顺序或列的元数据或完全文件类型的文件的操作,都会导致错误。因此,如果您所指的文件具有不同的Architectures,那么我理解您是在说您所指的是我刚才提到的任何项目的更改。

如果这不正确,那么您需要更新答案以指定不同的Architecture的含义。注意:正如您所提供的,我不认为不同的文件名是不同的Architectures-它们只是不同的文件名。可以对连接管理器本身进行参数化,以允许通过ConnectionString属性循环访问不同的文件名。如您所知,还有其他可以参数化的属性。

相关问题