【发布时间】:2013-02-20 23:21:09
【问题描述】:
我正在寻求使用BULK INSERT 将.csv 文件导入SQL Server 的帮助,但我有几个基本问题。
问题:
CSV 文件数据之间可能有
,(逗号)(例如:描述),那么如何进行导入处理这些数据?如果客户端从 Excel 创建 CSV,则带有逗号的数据包含在
""(双引号)内 [如下例] 那么导入如何处理这个问题?如果某些行有错误数据,我们如何跟踪哪些导入会跳过? (导入会跳过不可导入的行)
这是带有标题的示例 CSV:
Name,Class,Subject,ExamDate,Mark,Description
Prabhat,4,Math,2/10/2013,25,Test data for prabhat.
Murari,5,Science,2/11/2013,24,"Test data for his's test, where we can test 2nd ROW, Test."
sanjay,4,Science,,25,Test Only.
以及要导入的SQL语句:
BULK INSERT SchoolsTemp
FROM 'C:\CSVData\Schools.csv'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ',', --CSV field delimiter
ROWTERMINATOR = '\n', --Use to shift the control to next row
TABLOCK
)
【问题讨论】:
-
可能是SSMS: How to import (Copy/Paste) data from excel 可以提供帮助(如果您不想使用
BULK NSERT或没有权限)。 -
这不是重点,但您的示例 CSV 文件应该可以毫无问题地加载到 MS Access 中。
标签: sql sql-server csv bulkinsert bulk