【发布时间】:2016-12-19 13:16:27
【问题描述】:
我收到大量 .csv 文件,我需要将它们批量插入到 SQL 表中。
在 csv 文件中,日期格式为 YYYY-MM-DD 和单独的时间列,格式为 HH:MM:SS。
"2016-11-24";"01:00:16"
在我的表中,我创建了两列作为日期数据类型和时间数据类型,并使用这段代码插入:
BULK
INSERT [dbo].[table_name]
FROM 'filepath'
WITH
(
FIRSTROW = 2,
FIELDTERMINATOR = ';',
ROWTERMINATOR = '\n'
)
但我收到此错误:
Msg 4864, Level 16, State 1, Line 37
Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 2, column 1 (date).
如果我使用普通的 insert into 语句,它可以工作...
【问题讨论】:
-
你确定日期是 yyyy-mm-dd 而不是 yyyy/mm/dd
-
是的,它就是这样到达的。 2016-12-19
-
代码页也可以吗?看起来你有一个字符映射不匹配,不适合所选的 CP。您的 csv 是否使用不同的编码?
-
嗨。
"2016-11-24";"01:00:16"的值是一个例子吗?还是这些来自无法导入的行? -
取自导入失败的行。
标签: sql sql-server bulkinsert