有人可以指导我如何使用派生列将来自平面文件源的MM/DD/YYYY HH:MM
作为字符串转换为日期时间到ole db目标。
这是我的流程。
Flatfile -> Data Coversion -> Derived Column
答案 0 :(得分:8)
有几种方法可以实现这一目标。您可以使用Derived Column transformation
转换值或,您可以将平面文件连接上的平面文件列声明为数据类型 database timestamp [DT_DBTIMESTAMP]
列。步骤 1 - 8 描述第一个选项,步骤 9 描述第二个选项。
分步流程:
此示例使用屏幕截图# 1 中显示的名为Source.txt
的平面文件。
Flat File Connection
的配置如屏幕截图# 2 和# 3 所示。
Data Flow Task
的配置如屏幕截图# 4 所示。
平面文件源的配置如屏幕截图# 5 所示。
Derived Transformation
任务配置如屏幕截图# 6 所示,使用类型强制转换 DT_DBTIMESTAMP 将字符串值转换为日期时间值。< / p>
OLE DB Destination
的配置如屏幕截图# 7 所示。
屏幕截图# 8 显示示例包执行。
屏幕截图# 9 会在程序包执行后显示SQL表中的数据。
另一种更简单的方法是将包含日期时间值的列声明为数据类型 database timestamp [DT_DBTIMESTAMP]
,如屏幕截图# 10 所示。这样您就不需要Derived Column Transformation
,Data Flow Task
将如屏幕截图# 11 所示。您可以直接将Flat File
列映射到OLE DB destination
列。
希望有所帮助。
屏幕截图#1:
屏幕截图#2:
屏幕截图#3:
屏幕截图#4:
屏幕截图#5:
屏幕截图#6:
屏幕截图#7:
屏幕截图#8:
屏幕截图#9:
屏幕截图#10:
屏幕截图#11: