首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bcp错误忽略分隔符(字符串数据,右截断)

bcp错误忽略分隔符(字符串数据,右截断)
EN

Stack Overflow用户
提问于 2021-04-07 23:08:58
回答 1查看 451关注 0票数 0

因此,我使用bcp将csv文件导入到我的SQL数据库中。这是命令:

代码语言:javascript
复制
bcp table in D:\temp\some_file.csv -T -S serverName -d dbName -F 2 -c -t "," -r "\n"

当我试图导入文件时,我得到了以下错误:

代码语言:javascript
复制
Starting copy...
SQLState = 22001, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]String data, right truncation
SQLState = 22001, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]String data, right truncation
SQLState = 22001, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]String data, right truncation
SQLState = 22001, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]String data, right truncation
SQLState = 22001, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]String data, right truncation
SQLState = 22001, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]String data, right truncation
SQLState = 22001, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]String data, right truncation
SQLState = 22001, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]String data, right truncation
SQLState = 22001, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]String data, right truncation
SQLState = 22001, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]String data, right truncation

24 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total     : 31     Average : (774.19 rows per sec.)

csv文件的最后2列包含用户全名(“姓氏,名称”),客户全名(“姓氏,名称”)

代码语言:javascript
复制
SYS Hostname,SYS Domain,User Name,Customer Name
server1,test.com,"surname, name","surname2, name2"

有没有可能忽略,之间的""?

谢谢

编辑:

正如@AlwaysLearning所言:

您有一个引用的CSV文件,这是bcp.exe进程无法处理的。根据RFC4180,您的数据行有四个字段-- server1 test.com姓氏、name和surname2,但bcp.exe只看到逗号,因此认为它是6个字段。考虑其他方法--例如使用PowerShell脚本使用Import将数据文件加载到DataTable中,然后通过SQL连接使用SqlBulkCopy对象插入DataTable

还有其他选项可以通过命令行o SQL脚本导入CSV文件吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-04-20 20:15:57

请看这里的回应。只要引用的字段始终在文件的每一行上,BCP就可以工作。无论名称值是否包含逗号。下面的问题是关于出口,但在进口方面同样有效。你实质上告诉BCP,测定仪是",“而不仅仅是,

SQL Server BCP Export where comma in SQL field

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66995274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档