簡體   English   中英

如何解決此 ORA-01722: SQL *基於加載器的並發程序中的無效數字錯誤?

[英]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
)

來自.csv 表的示例行是: 在此處輸入圖像描述

並發程序運行后,它會給出警告和日志文件顯示:

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM