Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server &引用;“列太长”;批量插入错误_Sql Server_Sql Server 2008_Bulkinsert - Fatal编程技术网

Sql server &引用;“列太长”;批量插入错误

Sql server &引用;“列太长”;批量插入错误,sql-server,sql-server-2008,bulkinsert,Sql Server,Sql Server 2008,Bulkinsert,我试图运行以下命令从CSV文件批量插入数据-- 我得到的错误是-- Msg 4866,第16级,状态1,第1行 批量加载失败。数据文件中第1行第6列的列太长。 验证是否正确指定了字段终止符和行终止符。 味精7399,第16级,状态1,第1行 链接服务器(null)的OLE DB提供程序“大容量”报告了错误。提供商未提供有关错误的任何信息。 信息7330,16级,状态2,第1行 无法从链接服务器(null)的OLE DB提供程序“大容量”中获取行 这是第一行的数据-- 在表中,最后一个字段(与上面

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

我得到的错误是--

Msg 4866,第16级,状态1,第1行
批量加载失败。数据文件中第1行第6列的列太长。
验证是否正确指定了字段终止符和行终止符。
味精7399,第16级,状态1,第1行
链接服务器(null)的OLE DB提供程序“大容量”报告了错误。提供商未提供有关错误的任何信息。
信息7330,16级,状态2,第1行
无法从链接服务器(null)的OLE DB提供程序“大容量”中获取行

这是第一行的数据--

在表中,最后一个字段(与上面的第6列数据相对应=0)的类型为“int”


我做错了什么?为什么会出现上述错误?

除非文件源是Unix,否则文件的行终止符很可能是

\r\n


可以使用十六进制编辑器验证文件的终止符,也可以尝试将其作为行终止符。

我从Oracle/Unix获得了提取。我将
\r\n
替换为
rowdterminator='0x0a'
,它对我有效。

非常感谢

与上面的回答一样,我在将csv文件导入SQL Server时遇到了同样的问题。我使用的是
rowtterminator='\n'
,我还尝试使用
'\r\n'
'\r'
。他们都没有工作

但是当使用
rowdterminator='0x0a'
时,加载的表不会出现问题


我不知道这背后的“原因”,希望其他人能对此有所了解。

我遇到了类似的问题,并且知道除非文件是UNIX类型的\r\n


生成格式文件(.fmt或.xml)时,请注意左侧的第三列。它被称为列的最小长度。有时sql server会将其默认为2,尽管您在创建脚本中没有提到它。将该值更改为0。有时您可能还必须允许NULL,所以将其更改为零,它现在应该可以工作了

通常问题是行分隔符。正确检查您的分隔符。我尝试使用您建议的终止符-但仍然得到相同的错误?请让我知道,如果你有任何进一步的想法,以帮助解决这个问题。。。谢谢…这里有一个答案:如果“\n”或“\r\n”不适合您,建议使用行终止符=“0x0a”。这对我有用!在平面文件有文本限定符“和字段终止符”的情况下,这对我来说是有效的。这在所有情况下都有效吗?或者有例外吗
 BULK INSERT TestDB.dbo.patent
 FROM 'C:\1patents.csv'
 WITH (FIRSTROW = 1,  FIELDTERMINATOR = '^', ROWTERMINATOR='\n');
 00000001^^18360713^295^4^0