sqlldr ORA-01722: 由于 csv 列中的十进制数字,数字无效

sqlldr ORA-01722: invalid number because of decimal number in a csv column

我正在尝试将数据从 csv 文件加载到 orcale table。 我将 sqlldr 与控制文件一起使用 一切正常,但在某些情况下,由于十进制数,该行未加载。 所以在 oracle Table 中,该列是:Number(10) - 这不应该是问题所在 我的控制文件看起来像这样:(它们大约还有 15 列,但基本上是关于列 quantity_1

OPTIONS (SKIP=1)
LOAD DATA 
 INFILE *
 APPEND
 INTO TABLE ..
 FIELDS TERMINATED BY ";" OPTIONALLY ENCLOSED BY '"' 
(
 Quantity_1, Quantity_2, Quantity_3,
)

在 csv 文件中,quantity_1 的行类似于

2.58
4343
232
1212

并且对于第一行,他给出了错误:

ORA-01722: invalid number

有人可以帮忙吗??

如果您的列定义为数字 (10),则在插入时它应该四舍五入为 3。我怀疑你的真实数据大于 2.58。无论如何,您的列应定义为数字(12,2),即总共 12 位数字,其中 2 位位于小数点左侧。即 9999999999.99