sql >> Database teknologi >  >> RDS >> Oracle

Oracle SQL Loader ORA-01722:ugyldigt nummer ved indlæsning af CSV-fil med Windows-linjeendelser

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
    )


  1. SQL, hvordan man sletter data og tabeller

  2. connection.query(...).then er ikke en funktion

  3. Transponering af stor forespørgsel

  4. Øg kolonneværdien på en bestemt betingelse i SQL-forespørgsel på Postgresql