Jag stötte nyligen på samma problem när jag laddade data till min tabell via csv-fil. Min fil såg ut så här:
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
)
Och som du nämnde, fick jag hela tiden samma felmeddelande "ogiltigt nummer" Det visar sig att detta vanligtvis inträffar - när din kolumndatatyp är Number men data du får från din csv-fil är i en sträng, så oracle loader misslyckas med att utföra en konvertering av sträng till nummer.- när ditt fält i csv-filen avslutas av några avgränsare, säg mellanslag, tabs etc.
Så här ändrade jag 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
)