csv 大容量插入行终止符无法正常工作

5vf7fwbs  于 2022-12-25  发布在  其他
关注(0)|答案(1)|浏览(161)

我正在尝试使用大容量插入将csv(一百万条记录)文件导入到sql server表中
csv数据示例如下:

"Phone Numbers","Opstype"
"9827259163","D"
"9827961481","D"
"9827202228","A"
"9827529897","A"
"9827700249","A"

截图自记事本++:

我的BULK INSERT代码如下所示

BULK INSERT dbo.tbl_dnd FROM "C:\DND_1.csv" WITH (DATAFILETYPE='char',FIRSTROW=2,FIELDTERMINATOR='","',ROWTERMINATOR='"\n"');

sql server的结果如下(示例):

Phone Numbers   Opstype
1120029090  A"  "9868321244 
1120220004  A"  "9868863100 
1120291549  A"  "9868843285 
1120299308  A"  "9868908545 
1120314169  A"  "9868929393 
1120502244  A"  "1122230590 
1120907054  A"  "1126148672 
1122029480  A"  "9868545672 
1122070793  A"  "9868541277 
1122078765  A"  "9968140674

屏幕截图来自sqlserver表:

还请注意,大容量插入后sql server表中的记录总数仅为500,000条记录。(预期值的一半)
我哪里做错了?
我希望在Opstype中只看到字母,而不看到数字和引号

tkclm6bt

tkclm6bt1#

您的数据包含CR LF作为行终止符。
您的BULK INSERT语句只有LF(\n)。
您***需要***'\r\n'作为行终止符。
(And从字段和行终止符中删除"。)

相关问题