sql >> Database >  >> RDS >> Oracle

Oracle Sql Loader ORA-01722:ongeldig nummer bij laden van CSV-bestand met Windows-regeleindes

Ik kwam onlangs hetzelfde probleem tegen tijdens het laden van gegevens in mijn tabel via een csv-bestand. Mijn bestand zag er als volgt uit:

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
    )

En zoals je al zei, kreeg ik steeds dezelfde foutmelding 'ongeldig nummer'. Dit blijkt meestal te gebeuren - wanneer je kolomgegevenstype Getal is, maar de gegevens die je uit je csv-bestand krijgt in een string, dus oracle loader kan geen conversie uitvoeren van tekenreeks naar nummer.- wanneer uw veld in csv-bestand wordt beëindigd door enkele scheidingstekens, bijvoorbeeld spatie, tabbladen enz.

Dit is hoe ik mijn ctl-bestand heb gewijzigd:

 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. selecteer som tot een bepaald bedrag en werk vervolgens bepaalde velden bij op basis van voorwaarde

  2. Een primaire sleutel maken in SQL Server (T-SQL-voorbeelden)

  3. Waarom krijg ik geen foutmelding bij het instellen van een grotere INT-gegevenstypelengte in MySQL?

  4. Waarschuwing:PDOStatement::bindValue():SQLSTATE[HY093]:Ongeldig parameternummer:kolommen/parameters zijn 1-gebaseerd