0

我得到一个输入 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.

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

4

2 回答 2

4

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

这将导致 SSIS 解释

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

作为

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

这还有一个额外的好处,就是能够捕获数据中的任何嵌入逗号(如果它们也符合引号)。

于 2010-10-20T15:28:09.197 回答
2

问题在于文件中的引号 [ " ]。您应该从文件中删除它们或Derived Column在组件之前添加一个Data Conversion以删除"与表达式

替换([TextDateColumn],"\"","")

于 2010-10-20T13:49:06.900 回答