SQL新手,如何导入多个.CSV文件?

时间:2015-09-17 10:54:50

标签: sql sql-server tsql import ssis

我是SQL新手,有OOL类型编程背景。

我创建了以下查询,该查询成功地将.CSV文件导入SQL Management Studio上的表中。我该如何导入多个文件?使用OOL语言会非常简单,虽然我听说你必须使用cmd读取目录?

工作代码如下:

--Cihans Import for Holdings-- 
INSERT INTO Holdings1
SELECT * FROM OPENROWSET
('MSDASQL', 'Driver={Microsoft Access Text Driver (*.txt, *.csv)}
;DBQ=C:\Share\DataUploads\FundHoldings;','SELECT * FROM holdings.csv')

如何循环/读取目录中的所有文件并导入数据?我们每月给出超过120张,我想用上面的方法导入。或者,如果有人可以推荐替代品吗?

1 个答案:

答案 0 :(得分:0)

您是否可以访问SSIS? (SQL Server集成服务)?

如果是这样,您可以使用此设置ETL任务,使用FOREACH LOOP CONTAINER导入文件夹中的所有文件,其中包含您的数据流任务&文件系统任务?

编辑 - 对评论的回应 - 此线程中的解决方案应该使您能够仅使用T-SQL执行所需操作:loop through files in folder

基本上 - 将所有文件加载到temptable中,创建一个while循环,每次执行时从文件夹传入一个新文件名,然后执行数据操作,然后传入下一个文件名直到完成所有文件。