Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell sqlldr ORA-01722:由于csv列中存在十进制数,因此数字无效_Shell_Csv_Unix_Loader_Sql Loader - Fatal编程技术网

Shell sqlldr ORA-01722:由于csv列中存在十进制数,因此数字无效

Shell sqlldr ORA-01722:由于csv列中存在十进制数,因此数字无效,shell,csv,unix,loader,sql-loader,Shell,Csv,Unix,Loader,Sql Loader,我正在尝试将csv文件中的数据加载到orcale表中。 我将sqlldr与一个控制文件一起使用 一切正常,但在某些情况下,由于十进制数,行无法加载。 所以在oracle表中,列是:数字(10)-这不应该是问题所在 我的控制文件如下所示:(它们大约多了15列,但基本上是关于列数量的 OPTIONS (SKIP=1) LOAD DATA INFILE * APPEND INTO TABLE .. FIELDS TERMINATED BY ";" OPTIONALLY ENCLOSED BY

我正在尝试将csv文件中的数据加载到orcale表中。 我将sqlldr与一个控制文件一起使用 一切正常,但在某些情况下,由于十进制数,行无法加载。 所以在oracle表中,列是:数字(10)-这不应该是问题所在 我的控制文件如下所示:(它们大约多了15列,但基本上是关于列数量的

OPTIONS (SKIP=1)
LOAD DATA 
 INFILE *
 APPEND
 INTO TABLE ..
 FIELDS TERMINATED BY ";" OPTIONALLY ENCLOSED BY '"' 
(
 Quantity_1, Quantity_2, Quantity_3,
)
在csv文件中,数量_1的行如下所示

2.58
4343
232
1212
对于第一行,他给出了错误:

ORA-01722: invalid number

有人能帮忙吗?

如果你的列定义为数字(10),插入时应该四舍五入到3。我怀疑你的实际数据大于2.58。无论如何,你的列应该定义为数字(12,2),也就是说,总共有12位,其中两位在小数点的左边。例如,9999999999

你应该阅读以下内容:这有什么帮助?你的语言设置中是否有小数分隔符,而不是点?@Romeo Ninov抱歉,我不明白如何检查csv文件中的这些设置。它们必须是选项卡中的点雷诺,我来谈谈你们的环境。例如,在保加利亚语中,小数点分隔符是逗号,而不是点。