2013-01-16 58 views
1

我试图使用批量插入command--“数据转换错误” 与BULK INSERT

这一些数据导入到SQL Server是我getting--

Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 6 (NClaims). 

现在的错误,我创建了一个测试文件与数据只有一行,我是能够导入successfully--

00000005^^18360810^408^30^0 

然而,当我加2个数据行(这是非常类似于上面的行)我得到了错误我有的消息上面给出。这些是数据 -

00000003^^18360801^142^42^0 
00000004^^18360000^142^10^0 

的2个额外行正如你可以看到似乎没有被任何差异(在数据长度方面或数据类型的2行上面前面给出的单列相比)...那么,为什么我得到这个错误?我如何解决它?

EDIT--

这是命令我executing--

BULK INSERT GooglePatentsIndividualDec2012.dbo.patent 
FROM 'C:\Arvind Google Patents Data\patents\1patents_test.csv' 
WITH (FIELDTERMINATOR = '^', ROWTERMINATOR='\n'); 
+1

你能提供你正在执行的确切的SQL命令吗?你是否可以跳过标题行,这只适用于单行数据? – mellamokb

+0

@mellamokb我的CSV中没有标题行 - 既不包含一行数据的文件,也不包含包含三行的文件......我用我试图在SQL中使用的查询更新了我的问题服务器... – Arvind

+2

你确定你的rowterminator是'\ n'而不是'\ r'吗? – Hogan

回答

1

要有耐心,并在同一时间排除一件事实验。例如:

  1. 删除第三行并检查一切是否正常。
  2. 如果是,则返回此行,但将10^0更改为42^0,再次检查。
  3. 重复步骤2,将所有数据更改为行2中的值,这是正常的。

您会发现导致错误的数据。