从Excel导入转换日期

时间:2013-12-17 20:37:35

标签: sql excel date ssis

我正致力于自动化从德国收到的一些数据。日期格式为DD.MM.YYYY,我需要它为MM / DD / YYYY。

我正在使用SSIS构建导入包,并添加了一个派生列来更改日期格式。

我首先尝试使用

(DT_DATE) [CalendarDay]

但是当我执行包时,我在Derived Column中遇到错误。

[Derived Column [2]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR.
The "Derived Column" failed because error code 0xC0049064 occurred, and the error 
row disposition on "Derived Column.Outputs[Derived Column Output].Columns[Date]" 
specifies failure on error.

所以我浏览了StackExchange中的许多示例(至少我能找到的所有示例)并且遇到了相同的错误或者没有达到所需的输出。

任何建议。

3 个答案:

答案 0 :(得分:2)

1)来源: - 平面文件使用DT_date作为Date列 2)派生列: - 使用

替换它

SUBSTRING([第2栏],4,4)+“/”+ SUBSTRING([第2栏],5,2)+“/”+ SUBSTRING([第2栏],7,2)

并使用DT_DATE IN数据类型

3)目的地: - 使用datetime作为日期的数据类型

运行它

谢谢!

答案 1 :(得分:1)

尝试改为:

- 发布日期列...使用DT_Date然后在派生列中使用子字符串包含

 // so date will become 2009/02/05 and then transfer data to destination... 

它会解决..

谢谢!

Nilesh制作

答案 2 :(得分:0)

我通过使用user3112708提供的子字符串方法修改了错误,并对编号顺序进行了微小的修改。

SUBSTRING(CalendarDay,4,2) + "/" + SUBSTRING(CalendarDay,1,2) + "/" + 
SUBSTRING(CalendarDay,7,4)

谢谢大家的帮助。