首页 > 解决方案 > 从 csv 文件导入 SQL Server

问题描述

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

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

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

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

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

在此处输入图像描述

如果我在 SSMS 中使用导入/导出向导,并使用以下设置,我会在预览中看到预期的结果:

在此处输入图像描述

谁能给我一些关于我需要如何更新查询以正确执行的指示。

以下是 CSV 数据的示例: 在此处输入图像描述

TIA。

标签: sql-servercsvimport

解决方案


您可能需要指定"Text qualifier.

您的字段似乎被引用并且很可能包含逗号,这些逗号正在拆分您的字段。

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

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


推荐阅读