2010-10-20 431 views
0

我得到一个输入CSV文件,我必须上传到我的oracle数据库。转换SSIS中的数据类型

下面是一些示例数据

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.

我应该怎么做才能够正确地转换这些数据?

回答

4

在这种情况下您可以做的是将Flat File连接中的Text Qualifer更改为单个双引号(”)。

这将导致SSIS到interperet

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

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

这也具有能够捕捉任何嵌入的逗号您的数据,如果他们也带有引号的Qualfied额外的奖励。

2

的问题是带引号[]在文件中。 你应该从文件中Data Conversion组件之前将其删除或添加Derived Column删除与表达

REPLACE ([TextDateColumn],“\”“,”“)