Recentemente, encontrei o mesmo problema ao carregar dados em minha tabela via arquivo csv. Meu arquivo ficou assim:
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 como você mencionou, eu continuei recebendo o mesmo erro 'número inválido' Acontece que isso geralmente ocorre - quando o tipo de dados da sua coluna é Número, mas os dados que você está obtendo do seu arquivo csv estão em string, então o oracle loader falha ao realizar uma conversão de string to number.- quando seu campo no arquivo csv é encerrado por alguns delimitadores, digamos espaço, guias etc.
Foi assim que alterei meu arquivo 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
)