Наскоро срещнах същия проблем, докато зареждах данни в моята таблица чрез csv файл. Моят файл изглеждаше така:
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
)
И както споменахте, продължавах да получавам същата грешка „невалиден номер“. Оказва се, че това обикновено се случва – когато типът данни на вашата колона е Number, но данните, които получавате от вашия csv файл, са в низ, така че програмата за зареждане на oracle не успява да извърши преобразуване на низ към число.- когато вашето поле в csv файл е завършено с някои разделители, да речем интервал, раздели и т.н.
Ето как промених моя 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
)