2016-12-23 45 views
0

我试图插入一个.csv文件到现有的表。现有的表格有3列,这些是ID(仅在表中分配),学号和组号。批量插入加载失败的SQL Server

在我.csv,我有下面的格式,但我每次插入它时,我得到一个错误

的大容量加载失败。数据文件行第1列中出现意外的NULL值。目标列(ID)被定义为NOT Null。

那么,如何忽略第一列?

这是.CSV文件:

ID,StudentNumber,GroupNumber 
    ,000,3 
    ,0000794613,3 

,我使用

BULK INSERT [dbo].[Table_StudentNumber] 
    FROM 'E:\CSV\sample.csv' 
    WITH 
    (
     FIRSTROW = 2, 
     FIELDTERMINATOR = ',', 
     ROWTERMINATOR = '\n' 
    ); 
+1

用这个看看格式文件。 https://msdn.microsoft.com/en-us/library/ms178129.aspx –

+0

嗨。你指的是bcp吗? – cat4081

+1

您也可以使用带'BULK INSERT'的格式文件。 –

回答

3

不要批量插入您的CSV进入真正的表的SQL。首先将它插入没有标识列的表中,更改数据,然后将其插入真实表中。

+0

嗨。你是指表格中的ID列吗?几乎所有的ID都将基于表格中的下一个数字。 – cat4081

+0

请参阅:http://stackoverflow.com/a/12395673 –