我正嘗試使用SSIS將Excel 2003中的電子表格中的日期列導入到SQL Server 2005中。我在英國,所以想要日期格式爲dd/MM/yyyy。使用SSIS for Excel將日期格式問題導入到SQL Server中
不幸的是,電子表格中的列包含以dd/MM/yyyy(使用Excel'常規'格式)字符串形式存儲的日期以及使用Excel格式化日期格式dd/MM/yyyy locale'英語(英國)')。
這只是它的方式,我不能指望用戶能夠自己解決這個問題。
查看電子表格時,所有日期在視覺上都顯示爲正確,即dd/MM/yyyy。
我想將值導入數據庫中的保存表中的varchar列。然後我運行一個存儲過程,將這些值複製到包含datetime列的適當表中。
問題是,存儲在電子表格中並使用日期格式的日期會以MM/dd/yyyy格式導入到SQL Server中,並且以字符串形式存儲的日期會以dd/MM/yyyy格式導入。在連接字符串中我有IMEX = 1。
在同一VARCHAR列使用這兩種格式將日期顯然是造成問題,當我試圖把它變成一個datetime列,因此
SET DATEFORMAT MDY;
SET DATEFORMAT DMY;
都是沒有用的。
有沒有人知道爲什麼SSIS包會將Excel電子表格中看似正確的日期導入到SQL Server中作爲MM/dd/yyyy呢?
有沒有辦法強制SSIS包導入日期爲dd/MM/yyyy,該日期可以與日期格式應用的字符串和單元格一起使用?
其他想法?
非常感謝,
安東尼