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

时间:2011-06-06 18:05:37

标签: ssis

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

这是我的流程。

Flatfile -> Data Coversion -> Derived Column

1 个答案:

答案 0 :(得分:8)

有几种方法可以实现这一目标。您可以使用Derived Column transformation转换值,您可以将平面文件连接上的平面文件列声明为数据类型 database timestamp [DT_DBTIMESTAMP] 列。步骤 1 - 8 描述第一个选项,步骤 9 描述第二个选项。

分步流程:

  1. 此示例使用屏幕截图# 1 中显示的名为Source.txt的平面文件。

  2. Flat File Connection的配置如屏幕截图# 2 和# 3 所示。

  3. Data Flow Task的配置如屏幕截图# 4 所示。

  4. 平面文件源的配置如屏幕截图# 5 所示。

  5. Derived Transformation任务配置如屏幕截图# 6 所示,使用类型强制转换 DT_DBTIMESTAMP 将字符串值转换为日期时间值。< / p>

  6. OLE DB Destination的配置如屏幕截图# 7 所示。

  7. 屏幕截图# 8 显示示例包执行。

  8. 屏幕截图# 9 会在程序包执行后显示SQL表中的数据。

  9. 另一种更简单的方法是将包含日期时间值的列声明为数据类型 database timestamp [DT_DBTIMESTAMP] ,如屏幕截图# 10 所示。这样您就不需要Derived Column TransformationData Flow Task将如屏幕截图# 11 所示。您可以直接将Flat File列映射到OLE DB destination列。

  10. 希望有所帮助。

    屏幕截图#1:

    1

    屏幕截图#2:

    2

    屏幕截图#3:

    3

    屏幕截图#4:

    4

    屏幕截图#5:

    5

    屏幕截图#6:

    6

    屏幕截图#7:

    7

    屏幕截图#8:

    8

    屏幕截图#9:

    9

    屏幕截图#10:

    10

    屏幕截图#11:

    11