“列太长”;大容量插入错误 [英] "Column is too long" error with BULK INSERT
问题描述
我试图运行以下命令从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屋!