Sql server 2008 SQL Server 2008大容量插入日期时间错误
我试图在SQLServer2008中使用大容量插入来导入TSV(制表符分隔值)文件 这是我的剧本:Sql server 2008 SQL Server 2008大容量插入日期时间错误,sql-server-2008,insert,bulk,Sql Server 2008,Insert,Bulk,我试图在SQLServer2008中使用大容量插入来导入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 =
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
以下是文件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
1詹姆斯·史密斯2010年10月16日04:45:35
2梅吉·史密斯2010年10月16日04:45:35
3罗伯特·史密斯2010年10月16日04:45:35
4亚历克斯·史密斯2010年10月16日04:45:35
不幸的是,我得到了以下错误:
Msg 4864,第16级,状态1,第2行
第1行第4列(TodaysDate)的大容量加载数据转换错误(指定代码页的类型不匹配或无效字符)
显然,我需要将TSV文件中的日期格式转换为DATETIME
可以接受的格式
有人能帮帮我吗?我想知道这是否与您的日期格式为2010年10月16日(即,它预计2010年10月16日)中的月数而不是天数有关。您可以在批量插入之前尝试执行此操作:
SET DATEFORMAT dmy;
我想知道这是否与您的日期格式为2010年10月16日(即,它预计为2010年10月16日)中的月数而不是天数有关。您可以在批量插入之前尝试执行此操作:
SET DATEFORMAT dmy;
如果您发布代码,您应该真正使用代码格式按钮(带有“101 010”图片的小按钮)。。。如果你发布代码,你应该真正使用代码格式按钮(带有“101 010”图片的小按钮)。。。它使你的问题更容易阅读。