ssis – 如何将字符串格式的时间戳转换为包中的日期时间数据类型?

有人可以指导我如何将MM / DD / YYYY HH:MM作为字符串从平面文件源转换为使用派生列的日期时间到ole db目标.

这是我的流程.

Flatfile -> Data Coversion -> Derived Column
最佳答案
有几种方法可以实现这一目标.您可以使用派生列转换来转换值,也可以将平面文件连接上的平面文件列声明为数据类型数据库时间戳[DT_DBTIMESTAMP]的列.步骤1-8描述了第一个选项,步骤9描述了第二个选项.

分步过程:

>此示例使用屏幕截图#1中显示的名为Source.txt的平面文件.
>平面文件连接的配置如屏幕截图#2和#3所示.
>数据流任务的配置如屏幕截图#4所示.
> Flat File Source的配置如屏幕截图#5所示.
>派生转换任务的配置如屏幕截图#6所示,使用类型转换DT_DBTIMESTAMP将字符串值转换为日期时间值.
> OLE DB目标配置如屏幕截图#7所示.
>屏幕截图#8显示示例包执行.
>屏幕截图#9显示包执行后SQL表中的数据.
>另一种更简单的方法是将包含日期时间值的列声明为数据类型数据库时间戳[DT_DBTIMESTAMP],如屏幕截图#10所示.这样,您不需要派生列转换,数据流任务将如屏幕截图#11所示.您可以直接将平面文件列映射到OLE DB目标列.

希望有所帮助.

截图#1:

截图#2:

截图#3:

截图#4:

截图#5:

截图#6:

截图#7:

截图#8:

截图#9:

截图#10:

截图#11:

转载注明原文:ssis – 如何将字符串格式的时间戳转换为包中的日期时间数据类型? - 代码日志