将多个csv文件导入一个表

时间:2013-09-11 18:11:07

标签: sql sql-server csv ssis

我正在使用Micorsoft SQL Server Managment Studio。我在sql server上有一个名为“CSVfeeds”的文件夹。它每天都有多个CSV文件。每个csv文件都是相同的格式。如何将所有csv文件导入一个表?如果表可以有一个额外的字段来存储行来自的csv文件的标题,这也会有所帮助。

实施例: csv1: 姓名,身份证 约翰,1

CSV2: 姓名,身份证 史蒂夫,2

表: 名称,ID,文件 约翰,1,csv1 史蒂夫,2,csv2

我研究了一些像批量插入这样的选项。这对我来说并不合适。我熟悉SSIS包,但我想到了一种方法,可以使用SSIS将未定义数量的csv文件插入到表中。

任何帮助?

1 个答案:

答案 0 :(得分:4)

您可以使用SSIS For Each Container迭代目录中的文件。 ForEach File迭代器允许您指定文件夹和要枚举的文件,检索文件的文件名格式以及是否遍历子文件夹。

在For Each容器中,您可以设置变量以包含要迭代的文件的路径,并将该变量值用作数据流任务中CSV输入的路径。

Here's a link to an example

希望这有帮助!