SQLLDR を介して Oracle にデータをロードしています。ソースファイルは「パイプ区切り」です。
FIELDS TERMINATED BY '|'
ただし、一部のレコードでは、セパレータとしてではなく、データにパイプ文字が含まれています。そのため、データパイプ文字をフィールド ターミネータとして認識するため、レコードの正しいロードが中断されます。
この問題を解決するための方向性を教えてもらえますか?
データファイルは約9GBなので、手動で編集するのは大変です。
例えば、
ロードされた行:
ABC|1234567|STR 9 R 25|98734959,32|28.12.2011
拒否された行:
DE4|2346543|WE| 454|956584,84|28.11.2011
エラー:
Rejected - Error on table HSX, column DATE_N.
ORA-01847: day of month must be between 1 and last day of month
DATE_N 列が最後の列です。