如何将多个CSV文件加载到多个表中

时间:2016-02-02 12:00:19

标签: sql sql-server ssis business-intelligence

我在文件夹中有多个CSV文件

示例:

Member.CSv
Leader.CSv

我需要将它们加载到数据库表中。

我使用ForEachLoop Container,Data FlowTask,Excel Source和OLEDB Destination

进行了研究

我们可以通过使用表达式和优先约束来实现,但是如果我有超过10个文件,我怎么能使用脚本任务..我被困在这个

1 个答案:

答案 0 :(得分:0)

我们有类似的问题,我们的解决方案是上述建议的混合。

  • 我们每天都会从客户端发送多种文件类型。
  • 这些具有特定的文件名模式(例如SalesTransaction20160218.csv,Product20160218.csv)
  • 这些文件类型中的每一种都具有您期望的结构的暂存“登陆”表
  • 然后我们有一个.net脚本任务,它接受文件名模式并将该数据加载到登陆表中。
  • 在csv解析器中还有各种检查 - 匹配列数,一些基本数据验证,然后加载到登陆表中

我们不够好.net程序员能够动态解析未知的文件结构,创建SQL表然后加载数据。我希望它是可行的,毕竟这就是SSIS导入/导出向导(通过一些手动干预)

作为替代方案(过程非常精细),我们正在试验HDFS数据着陆区域,然后它允许我们使用像R这样的分析工具来解析HDFS中的数据。之后利用PIG将数据加载到SQL中。