代码之家  ›  专栏  ›  技术社区  ›  Raj More

转换SSIS中的数据类型

  •  0
  • Raj More  · 技术社区  · 14 年前

    以下是一些样本数据

    ContractId, Date, HourEnding, ReconciledAmount
    13860,"01-mar-2010",1,-.003
    13860,"01-mar-2010",2,.923
    13860,"01-mar-2010",3,2.542
    

    我必须将传入列转换为DB_TIMESTAMP(以匹配目标表中的结构)。

    但是当我使用 Data Conversion 要转换,我得到一个错误

    Data conversion failed while converting column "Date" (126) to column "Date" (496). The conversion returned status value 2 and status text "The value could not be converted because of a potential loss of data.

    如何才能正确转换此数据?

    2 回复  |  直到 12 年前
        1
  •  4
  •   John    14 年前

    在这种情况下,您可以将平面文件连接中的文本限定符更改为单双引号(“)。

    这将导致SSIS插入

    13860,"01-mar-2010",1,-.003
    

    作为

    13860,01-mar-2010,1,-.003
    

    这还有一个额外的好处,就是如果数据中嵌入的逗号也符合引号的要求,那么就可以捕获它们。

        2
  •  2
  •   il_guru 0xAX    14 年前

    问题在于引号[ " 您应该从文件中删除它们或添加 Derived Column Data Conversion "

    替换([TextDateColumn],“\”,“”)