SQL Server 2008 BULK INSERT DateTime错误

Wal*_*art 0 insert bulk sql-server-2008

我试图在SQL Server 2008中使用BULK INSERT导入TSV(制表符分隔值)文件.

这是我的脚本:

USE ABC
GO

CREATE TABLE CSVTest
(ID INT,
FirstName VARCHAR(40),
LastName VARCHAR(40),
TodaysDate DATETIME)
GO

BULK
INSERT CSVTest
FROM 'd:\csvtest.txt'
WITH
(
FIELDTERMINATOR = '\t',
ROWTERMINATOR = '\n'
)
GO

--Check the content of the table.
SELECT *
FROM CSVTest
GO

--Drop the table to clean up database.
SELECT *
FROM CSVTest
GO

DROP TABLE CSVTest
GO
Run Code Online (Sandbox Code Playgroud)

这是文件的内容d:\csvtest.txt:

1   James   Smith   16/10/2010 04:45:35
2   Meggie  Smith   16/10/2010 04:45:35
3   Robert  Smith   16/10/2010 04:45:35
4   Alex    Smith   16/10/2010 04:45:35

不幸的是,我收到以下错误:

消息4864,级别16,状态1,行2第1行第4列(TodaysDate)的批量装入数据转换错误(指定代码页的类型不匹配或无效字符).

显然,我需要将TSV文件中的日期格式转换为可接受的格式DATETIME.

有人可以帮帮我吗?

Mic*_*eyn 5

我想知道这是否与预期数月有关,而不是您的日期格式为16/10/2010(即预计10/16/2010).你可以在BULK INSERT之前尝试这样做:

SET DATEFORMAT dmy;
Run Code Online (Sandbox Code Playgroud)