You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BCP命令导入简单CSV数据至SQL Server失败原因咨询

两种BCP命令导入带BOM的UTF-8 CSV失败原因分析

测试环境信息

测试CSV文件

带BOM的UTF-8编码,每行以\r\n作为换行符(包含最后一行),内容如下:

1,"qwe"
2,"rty"
3,"uio"
4,"äöü"

目标数据库表结构

CREATE TABLE Import_data_test_1([column1][integer], [column2][nvarchar])

第一种BCP命令失败原因

执行的命令:

bcp sn_test_2.dbo.Import_data_test_1 in D:\Uuu\Test_1.csv -w -T -t , -r \n

执行报错:Unexpected EOF encountered in BCP data-file

失败核心原因:

  • 编码格式不匹配:-w参数指定BCP以**Unicode(UCS-2小端)**格式读取文件,但目标CSV是带BOM的UTF-8编码,字节流解析逻辑冲突,导致BCP无法正确识别字段和行的边界。
  • 行终止符设置错误:文件实际行终止符是\r\n,但命令中指定-r \n,BCP会将每行开头的\r当作字段内容的一部分,造成行解析错位,最终误判为提前到达文件末尾。

第二种交互式BCP命令失败原因

执行交互式命令时的关键设置:

  • column1字段终止符设为,
  • column2字段终止符尝试留空或输入\n

执行结果为0行导入,失败核心原因:

  • UTF-8 BOM未被正确处理:交互式模式默认使用非Unicode格式读取文件,CSV开头的3字节BOM(EF BB BF)会被当作第一行column1的内容,BCP无法将其解析为整数类型,直接跳过该行;后续行也会因编码不匹配,无法正确识别字段边界。
  • 字段/行终止符设置错误:CSV中column2的实际终止符是\r\n,但设置中要么无终止符要么仅指定\n,加上字段被双引号包裹,BCP无法区分字段内容与分隔符,解析逻辑混乱,最终未识别到任何有效数据行。

内容的提问来源于stack exchange,提问作者user21273895

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 16:57:34