我正在尝试使用大容量插入将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中只看到字母,而不看到数字和引号
1条答案
按热度按时间tkclm6bt1#
您的数据包含CR LF作为行终止符。
您的BULK INSERT语句只有LF(
\n
)。您***需要***
'\r\n'
作为行终止符。(And从字段和行终止符中删除
"
。)