sql >> Base de Datos >  >> RDS >> Oracle

Oracle Sql Loader ORA-01722:número no válido al cargar un archivo CSV con finales de línea de Windows

Recientemente encontré el mismo problema al cargar datos en mi tabla a través de un archivo csv. Mi archivo se veía así:

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
    )

Y como mencionaste, seguí recibiendo el mismo error 'número no válido'. Resulta que esto suele ocurrir:cuando el tipo de datos de su columna es Número pero los datos que obtiene de su archivo csv están en una cadena, por lo que Oracle Loader no puede realizar una conversión de cadena a número.- cuando su campo en el archivo csv termina con algunos delimitadores, digamos espacio, pestañas, etc.

Así es como alteré mi archivo 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
    )