sql >> データベース >  >> RDS >> Oracle

Oracle Sql Loader ORA-01722:Windowsの行末を含むCSVファイルをロードするときに無効な数値

    最近、csvファイルを介してテーブルにデータをロードしているときに同じ問題が発生しました。ファイルは次のようになりました:

    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
        )
    

    そして、あなたが言ったように、私は同じエラーを受け取り続けました'無効な数値'これは通常発生します-列のデータ型が数値であるが、csvファイルから取得しているデータが文字列である場合、oracleloaderは次の変換を実行できません文字列から数値へ。-csvファイルのフィールドが、スペース、タブなどの区切り文字で終了している場合。

    これは私が私の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
        )
    


    1. SQL Server 2016:テーブルを作成する

    2. MysqlのLIKE句の代替

    3. MySQL接続が機能しない

    4. PostgreSQLでインデックスのメタデータをクエリする方法