Di recente ho riscontrato lo stesso problema durante il caricamento dei dati nella mia tabella tramite file CSV. Il mio file era simile a questo:
LOAD DATA
infile '/ipoapplication/utl_file/LBR_HE_Mar16.csv'
REPLACE
INTO TABLE LOAN_BALANCE_MASTER_INT
fields terminated by ',' optionally enclosed by '"'
(
ACCOUNT_NO,
CUSTOMER_NAME,
LIMIT,
REGION,
TERM_AGREEMENT INTEGER EXTERNAL
)
E come hai detto, continuavo a ricevere lo stesso errore "numero non valido" Si scopre che questo di solito si verifica:quando il tipo di dati della tua colonna è Numero ma i dati che stai ricevendo dal tuo file CSV sono in una stringa, quindi il caricatore di Oracle non riesce a eseguire una conversione di da stringa a numero.- quando il tuo campo nel file CSV è terminato da alcuni delimitatori, diciamo spazio, tabulazioni ecc.
Ecco come ho modificato il mio file ctl:
LOAD DATA
infile '/ipoapplication/utl_file/LBR_HE_Mar16.csv'
REPLACE
INTO TABLE LOAN_BALANCE_MASTER_INT
fields terminated by ',' optionally enclosed by '"'
(
ACCOUNT_NO,
CUSTOMER_NAME,
LIMIT,
REGION,
TERM_AGREEMENT INTEGER Terminated by Whitespace
)