[英]How to resolve this ORA-01722: invalid number error in SQL *Loader based concurrent program?
我正在使用基於 sql * 加載器的並發程序來上傳。csv 到 Oracle 數據庫表。
我的桌子是:
CREATE TABLE Production_Plan
(
PROCESS VARCHAR2(4000 BYTE),
SKU VARCHAR2(4000 BYTE),
MACHINE VARCHAR2(4000 BYTE),
PRODUCTION NUMBER
)
並發程序運行后,它會給出警告和日志文件顯示:
Record 1: Rejected - Error on table Production_Plan, column PRODUCTION. ORA-01722: invalid number
但是,如果我通過 TOAD 導入與 excel 文件相同的數據,則不會引發任何錯誤
控制文件; 為簡單起見,我將示例數據放在那里。 注意to_number
function 應用於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
加載 session 和結果:
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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.