我正在开发一个新的Datawarehouse,试图从许多不同的提供商处导入许多不同的格式文件。
每个月的文件名可能相同,例如MonthlyReturns.xls / .csv,或者模式,例如NorthWestSalesData20100101.csv。
我们不能要求提供商更改其命名惯例。
我们是否必须创建一个SSIS包来从每个提供者导入各种文件类型,或者我们是否可以创建一个映射来将传入字段(假设它们有标题列)与我们的字段相关联Datawarehouse?
最受青睐的解决方案很可能采用SSIS,但如果有一个简洁而优雅的方法可以减少我离开后维护解决方案所需的所有管理员,则不一定要这样做。
我自己正在积极研究这个问题的解决方案,并会在这里发布我采用的解决方案,但我想把它扔给社区,以便对我的问题进行理智检查。
提前感谢您的所有好评。
答案 0 :(得分:2)
您可以创建for each container
来迭代文件。然后将文件名分配给变量。这样您就可以使用任何文件而无需事先知道其名称。可以根据文件扩展名过滤每个容器。
然后,您可以根据文件名,文件扩展名,文件格式或列标题创建映射工具。
可以找到为每个容器使用a的示例here.