Jeg stødte for nylig på det samme problem, da jeg indlæste data i min tabel via csv-fil. Min fil så således ud:
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
)
Og som du nævnte, blev jeg ved med at få den samme fejl 'ugyldigt nummer'. Det viser sig, at dette normalt sker - når din kolonnedatatype er nummer, men data, du får fra din csv-fil, er i en streng, så oracle loader kan ikke udføre en konvertering af streng til nummer.- når dit felt i csv-filen er afsluttet af nogle skilletegn, f.eks. mellemrum, tabulatorer osv.
Sådan ændrede jeg min ctl-fil :
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
)