“列太长”;大容量插入错误 [英] "Column is too long" error with BULK INSERT

查看:54
本文介绍了“列太长”;大容量插入错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图运行以下命令从CSV文件中批量插入数据-

I am trying to run the following command to bulk insert data from a CSV file--

 BULK INSERT TestDB.dbo.patent
 FROM 'C:\1patents.csv'
 WITH (FIRSTROW = 1,  FIELDTERMINATOR = '^', ROWTERMINATOR='\n');

我得到的错误是-


消息4866,级别16,状态1,行1

批量加载失败。数据文件中第1行第6列的列太长。

验证是否正确指定了字段终止符和行终止符。

Msg 7399,级别16,状态1 ,行1

链接服务器(null)的OLE DB提供程序 BULK报告了一个错误。提供程序没有提供有关该错误的任何信息。

消息7330,级别16,状态2,行1

无法从OLE DB提供程序 BULK中获取链接服务器的行(空)。

现在这是第一行中的数据

Now this is the data in the first row--

 00000001^^18360713^295^4^0

在表中,最后一个字段(对应于以上数据的第6列= 0)的类型为'int'。

And in the table the last field (corresp. to the 6th column of data above = 0) is of type 'int'.

什么我在这里做错了吗?为什么会出现上述错误?

What am I doing wrong here? Why am I getting the above error?

推荐答案

我从Oracle / Unix中提取了代码。我用 ROWTERMINATOR ='0x0a'代替了 \r\n ,它对我有用。

非常感谢!

I got extraction from Oracle/Unix. I replaced \r\n by ROWTERMINATOR = '0x0a' and it worked for me.
Thanks a lot !

这篇关于“列太长”;大容量插入错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆