我在一个文件夹中几乎有100个csv文件,具有相同的标题和标题格式。我需要将这些CSV文件中的所有数据加载到SQL Server的一个表中。我正在使用SSMS加载文件。我了解权限限制,并已解决。
我什至在使用xp_dirtree列出该文件夹中的所有文件,但现在我需要将所有这些列出的文件中的数据加载到预定义的表中(表A,其中包含标头)。请帮助。
谢谢
-获取文件列表的代码-
if object_id('tempdb..#directory','U') is not null
begin
drop table #directory;
end;
create table #directory (
[subdirectory] varchar(512)
,[depth] int
,[file] int
);
insert into #directory ([subdirectory],[depth],[file])
EXEC master.dbo.xp_DirTree'C:\Users\CSV temp',0,1;
select [subdirectory],[depth] from #directory
where [file] = 1
答案 0 :(得分:0)
理论上,您可以使用BULK INSERT从SQL Server内部加载文件,而无需使用外部工具。但是,仅SQL Server 2017和更高版本支持CSV格式。
如果您的SQL Server版本不支持它,则(几乎)唯一的选择是SSIS程序包。