Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssis 如何在包内将字符串格式的时间戳转换为日期时间数据类型?_Ssis - Fatal编程技术网

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

Ssis 如何在包内将字符串格式的时间戳转换为日期时间数据类型?,ssis,Ssis,有人可以指导我如何使用派生列将平面文件源中的字符串形式的MM/DD/YYYY HH:MM转换为日期时间到ole db目标 这是我的流程 Flatfile -> Data Coversion -> Derived Column 有两种方法可以实现这一点。您可以使用派生列转换转换值,或者您可以将平面文件连接上的平面文件列声明为数据类型数据库时间戳[DT_DBTIMESTAMP]的列。步骤1-8描述了第一个选项,步骤9描述了第二个选项 逐步过程: 本例使用屏幕截图#1中显示的名为Sour

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

这是我的流程

Flatfile -> Data Coversion -> Derived Column

有两种方法可以实现这一点。您可以使用
派生列转换
转换值,或者您可以将平面文件连接上的平面文件列声明为数据类型
数据库时间戳[DT_DBTIMESTAMP]
的列。步骤1-8描述了第一个选项,步骤9描述了第二个选项

逐步过程:

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

  • 平面文件连接
    的配置如屏幕截图#2和#3所示

  • 数据流任务
    的配置如屏幕截图4所示

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

  • Derived Transformation
    任务的配置如屏幕截图#6所示,使用类型castDT\u DBTIMESTAMP将字符串值转换为日期时间值

  • OLE DB目的地
    的配置如屏幕截图7所示

  • 屏幕截图#8显示示例包执行

  • 屏幕截图#9显示执行包后SQL表中的数据

  • 另一种更简单的方法是将包含日期时间值的列声明为数据类型
    数据库时间戳[DT\u DBTIMESTAMP]
    ,如屏幕截图10所示。这样,您就不需要进行
    派生列转换
    ,而
    数据流任务
    将如屏幕截图11所示。您可以直接将
    平面文件
    列映射到
    OLE DB目标

  • 希望有帮助

    屏幕截图#1:

    截图#2:

    屏幕截图#3:

    屏幕截图#4:

    屏幕截图#5:

    屏幕截图#6:

    截图#7:

    截图#8:

    截图#9:

    截图#10:

    截图#11:


    先生,在我的csv中,字符串是这样的:2014-02-24T23:17:59Z然后我尝试使用dt_日期、数据库时间戳、精确的数据库时间戳和时区的数据库时间戳没有任何效果。。请给我提个建议。。