SQL Server - 批量插入错误

7

我正在使用批量插入,并且遇到以下错误:

注意:加载文件中的数据未超出配置的列长度

运行命令:

批量插入 load_data from 'C:\temp\dataload\load_file.txt' with (firstrow = 1, fieldterminator = '0x09', rowterminator = '\n',MAXERRORS = 0, ERRORFILE = 'C:\temp\dataload\load_file')

加载文件内容:

user_name   file_path   asset_owner   city      import_date    
admin       C:\         admin         toronto   04/12/2012

错误:

消息4863,级别16,状态1,行1
批量加载数据转换错误(截断)第1行,第6列(已验证)。
消息7399,级别16,状态1,行1
OLE DB提供程序“BULK”对链路服务器“(null)”报告了一个错误。提供程序没有提供关于错误的任何信息。 消息7330,级别16,状态2,行1
无法从OLE DB提供程序“BULK”对链接服务器“(null)”提取一行。


你能提供load_data的架构吗? - Hamlet Hakobyan
第六列是否恰好是该行的最后一个字段?听起来字段或行终止符可能不正确。我以前见过这种情况。由于它找不到终止符,它认为字段/行延伸到下一个字段或行。只是猜测。 - brian
您似乎没有6列... 此外,格式与SO上的预期略有不同,因此我调整了您的数据以使其对齐... 不幸的是,这导致分隔符制表符丢失(尽管个人而言,我更喜欢使用非空格字符)。 - Clockwork-Muse
2个回答

8

列数有误。我最近更改了表结构,但忘记对表进行刷新。


在相同的情况下,我也遇到了同样的错误:我的CSV文件中有8个表列,但只有7个字段。 - Tim Partridge

0

我通过在模式中更改数据类型来解决了相同的问题。我将日期类型更改为nvarchar...它起作用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接