sql >> Databasteknik >  >> RDS >> Oracle

Oracle SQL Loader ORA-01722:ogiltigt nummer vid laddning av CSV-fil med Windows-radändelser

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
    )


  1. Kan inte ladda drivrutinsklass:com.mysql.jdbc.Driver Spring Boot

  2. Räkna rader i partitionen med Order By

  3. Välj de sista N raderna från MySQL

  4. Logga frågetid i SQLite på Android