我想在SQL Server 2008中使用BULK INSERT導入TSV(製表符分隔值)文件。SQL Server 2008 BULK INSERT日期時間錯誤
這裏是我的腳本:
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
不幸的是,我得到以下錯誤:
Msg 4864, Level 16, State 1, Line 2 Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 4 (TodaysDate).
很顯然,我需要將我的TSV文件中的日期格式轉換爲可接受的格式。
有人可以幫我嗎?
如果您發佈的代碼,你應該使用的代碼格式按鈕(小按鈕與「101 010」圖片)...它使你的問題更容易讀書。 – LittleBobbyTables 2010-10-16 15:17:32
感謝您的整理。 – 2010-10-16 15:26:07