我得到一个输入CSV文件,我必须上传到我的oracle数据库。
以下是一些示例数据
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.
如何才能正确转换此数据?
答案 0 :(得分:4)
在这种情况下你可以做的是将平面文件连接中的Text Qualifer更改为单个双引号(“)。
这将导致SSIS插入
13860,"01-mar-2010",1,-.003
as
13860,01-mar-2010,1,-.003
如果您的数据中也包含任何嵌入的逗号,如果它们也被引用了参数,那么这还有额外的好处。
答案 1 :(得分:2)
问题在于文件中的引号[“]。
您应该从文件中删除它们,或者在Derived Column
组件之前添加Data Conversion
,以删除带有表达式
REPLACE([TextDateColumn], “\””, “”)