从csv文件导入SQL Server

时间:2018-08-02 13:16:24

标签: sql-server csv import

我正在尝试将数据从.csv文件导入到SQL Server表中。

使用下面的代码,我可以从文件中读取内容:

BULK INSERT #TempTable 
FROM '\\Data\TestData\ImportList.csv' 
WITH (FIELDTERMINATOR = ',', ROWTERMINATOR ='\n', FIRSTROW = 2, Lastrow = 3)
GO

(我添加了LastRow = 3,所以我只是获取数据的一个子集,而不是处理所有2000行)

但是我将多个列合并为一个列:

enter image description here

如果在以下设置中使用SSMS中的“导入/导出”向导,则可以在预览中看到预期的结果:

enter image description here

任何人都可以给我一些有关如何更新查询以使其正确执行的指示。

以下是CSV数据的示例: enter image description here

TIA。

1 个答案:

答案 0 :(得分:1)

您可能需要将"指定为Text qualifier

您的字段似乎用引号引起来,并且很可能包含逗号,这会导致当前字段拆分。

或者,如果使用<none>作为Text qualifier可以正常工作,请尝试在查询中使用use FIELDQUOTE = ''FIELDQUOTE = '\b'FIELDQUOTE默认为'"'

如果不查看包含这些引号的原始csv数据(如您的第一个屏幕截图所示),就很难说出真正的错误所在。