Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.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
Oracle 如何解决基于SQL*加载器的并发程序中的ORA-01722:无效数字错误?_Oracle_Csv_Sql Loader_Oracle Apps - Fatal编程技术网

Oracle 如何解决基于SQL*加载器的并发程序中的ORA-01722:无效数字错误?

Oracle 如何解决基于SQL*加载器的并发程序中的ORA-01722:无效数字错误?,oracle,csv,sql-loader,oracle-apps,Oracle,Csv,Sql Loader,Oracle Apps,我正在使用基于sql*加载器的并发程序将.csv上载到Oracle数据库表 我的桌子是: CREATE TABLE Production_Plan ( PROCESS VARCHAR2(4000 BYTE), SKU VARCHAR2(4000 BYTE), MACHINE VARCHAR2(4000 BYTE), PRODUCTION NUMBER ) .csv表中的一个示例行是: 并发程序运行后发出警告,日志文件显示: 但是,如果我通过T

我正在使用基于sql*加载器的并发程序将.csv上载到Oracle数据库表

我的桌子是:

CREATE TABLE Production_Plan
(
  PROCESS     VARCHAR2(4000 BYTE),
  SKU         VARCHAR2(4000 BYTE),
  MACHINE     VARCHAR2(4000 BYTE),
  PRODUCTION  NUMBER
)
.csv表中的一个示例行是:

并发程序运行后发出警告,日志文件显示:


但是,如果我通过TOAD导入与excel文件相同的数据,则不会产生任何错误

控制文件;为了简单起见,我将示例数据放在那里。注意
to_number
功能应用于
production

load data
infile *
replace
into table production_plan
fields terminated by ';'
(process,
 sku,
 machine,
 production "to_number(:production, '999.99')"
)

begindata
sample process;0.12 x 770;sample machine;11.3
加载会话和结果:

SQL> $sqlldr scott/tiger control=test3.ctl log=test3.log

SQL*Loader: Release 11.2.0.2.0 - Production on Sub Svi 1 13:25:57 2021

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Commit point reached - logical record count 1

SQL> select * From production_plan;

PROCESS              SKU                  MACHINE              PRODUCTION
-------------------- -------------------- -------------------- ----------
sample process       0.12 x 770           sample machine             11,3

SQL>

我已将.ctl文件修改为->选项(skip=1)将数据填充“infle PATH”追加到表生产计划字段中,以“,”结尾,可选地用“,”结尾的空值(进程、SKU、机器、生产”括起来,改为“>编号(:Production,'999.99')”),但它再次给出了相同的错误
SQL> $sqlldr scott/tiger control=test3.ctl log=test3.log

SQL*Loader: Release 11.2.0.2.0 - Production on Sub Svi 1 13:25:57 2021

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Commit point reached - logical record count 1

SQL> select * From production_plan;

PROCESS              SKU                  MACHINE              PRODUCTION
-------------------- -------------------- -------------------- ----------
sample process       0.12 x 770           sample machine             11,3

SQL>