我正在尝试BULK INSERT
在 SQL Server 2012 中使用将数据从文本文件导入数据库表。我Z
在文本文件中使用带有指示符(DOB 字段)的 UTC 日期时间值。但在执行时BULK INSERT
,我收到“数据转换错误”。
谁能帮帮我吗?
脚本
CREATE TABLE Info
(
FirstName VARCHAR(40),
LastName VARCHAR(40),
DOB DATETIME
)
BULK INSERT Info FROM 'F:\InfoTextFile.txt' WITH (FORMATFILE='F:\InfoFormatFile.fmt')
F:\InfoTextFile.txt 的内容
约翰·史密斯 1988-08-23T00:00:00.0Z
威廉·亚历山大 1987-07-22T00:00:00.0Z
'F:\InfoFormatFile.fmt' 的内容
11.0
3
1 SQLCHAR 0 10 "" 1 FirstName ""
2 SQLCHAR 0 10 "" 2 LastName ""
3 SQLDATETIME 0 22 "\r\n" 3 DOB ""
错误:
消息 4864,级别 16,状态 1,第 2 行第 1 行第 3 列 (DOB) 的批量加载数据转换错误(指定代码页的类型不匹配或无效字符)。
消息 4832,级别 16,状态 1,第 2 行批量加载:在数据文件中遇到意外的文件结尾。
Msg 7399, Level 16, State 1, Line 2 The OLE DB provider "BULK" for linked server "(null)" reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 2 Cannot fetch a row from OLE DB provider "BULK" for linked server "(null)".