2012-12-04 52 views
7

我使用BULK INSERT并获得以下错误:SQL服务器 - 批量插入错误

注:在负载文件中的数据是 beyong配置柱长

运行命令:

从'C:\ temp \ dataload \ load_file.txt'批量插入load_data(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栏(有效)。
Msg 7399,Level 16,State 1,Line 1
链接服务器“(null)”的OLE DB提供程序“BULK”报告了错误。提供者没有提供任何关于错误的信息。 Msg 7330,Level 16,State 2,Line 1
无法从链接服务器“(null)”的OLE DB提供程序“BULK”中获取一行。

+0

您可以提供load_data架构? –

+0

第6列偶然排在最后一场?这听起来像字段或rowterminator可能是不正确的。我以前看过这个。由于它没有找到终止符,它认为该字段/行延伸到下一个字段或行。只是一个猜测。 – brian

+0

你看起来没有6栏......另外,格式与你在这里可能会有的不同之处有所不同,所以我调整了你的数据以便排成一行......不幸的是,这导致了分隔符标签丢失(尽管我个人更喜欢非空白字符)。 –

回答

8

列数不正确。我最近更改了表模式,但忘记在表上进行刷新。

+0

在同样的情况下,我也有同样的错误:我的CSV中有8个表格栏但有7个栏位 –

0

我通过更改模式中的数据类型解决了同样的问题。我有日期类型更改为nvarchar ...它的工作