批量插入数据会产生错误

时间:2015-04-11 04:17:24

标签: sql sql-server-2012 bulkinsert sqldatatypes

尝试批量插入表格,我收到错误:

Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 31, column 4 (Birthday).

以下是我尝试用来插入数据的代码:

Bulk Insert Dzt.dbo.Player
    From 'A:\New Folder\Seed_Files\Player.csv'
    With
    (
        FieldTerminator=',',
        RowTerminator='\n',
        FirstRow=2
    )

这是我在制作表格时使用的代码:

Use Dzt

Create Table Player
(
Player_ID int,
FirstName varchar(255),
LastName varchar(255),
Birthday date,
Email varchar(255),
L_Flag varchar(255)
);

这是我第一次尝试制作表格并插入数据,所以我认为这可能是生日字段的数据类型错误但我无法在网上找到任何我能够抓住时间的东西。我也尝试使用数据类型datetime而不是date,但我收到了同样的错误。

我正在使用SSMS 2012创建数据并将其插入2012 SQL Server。

如果我能提供其他可能有帮助的内容,请告诉我。

1 个答案:

答案 0 :(得分:0)

由于您怀疑它可能是日期格式错误,我建议将csv导入到生日列设置为varchar类型的表中。然后使用此查询过滤错误的记录。

select birthday from temptable where isdate(birthday) = 0 

然后,您可以更正这些记录,然后将它们插入旧表中。