【发布时间】:2016-11-25 09:41:18
【问题描述】:
我真的不明白问题出在哪里。我希望你能帮忙。
这是数据文件:
01/04/2013$1.300
01/10/2015$0.100
01/12/2016$0.500
这个文件必须加载到 TableA 中:
- 2 列:日期
(type DATE)和日期(type NUMBER(5,3))
这里是 ctl 文件:
LOAD DATA
REPLACE
INTO TABLE TABLEA
FIELDS TERMINATED BY '$'
TRAILING NULLCOLS
(THEDATE,
THERATE "to_number(:THERATE, '99999D999', 'NLS_NUMERIC_CHARACTERS=''.,''')")
加载中,我在所有记录的日志中都有这个错误:
Column Name Position Len Term Encl Datatype
THEDATE FIRST * $ CHARACTER
THERATE NEXT * $ CHARACTER
SQL string for column : "to_number(:THERATE, '99999D999', 'NLS_NUMERIC_CHARACTERS=''.,''')"
记录 1:被拒绝 - 表 TABLEA 的 THERATE 列出错。 ORA-01438: 该列允许的值大于指定的精度
【问题讨论】:
-
tablea 中“THERATE”列的数据类型是什么?
-
这是完整的数据文件还是只是摘录?
-
必须有更多数据。给定数据集加载成功。
标签: oracle sql-loader