• ベストアンサー

SQLLDRで、10M程度のテキストの流し込み

SQLLDRで、10M程度のテキストの流し込みを行おうとすると、 レコード1: 拒否されました。- 表DATATABLE,列DATABUFFでエラーが発生しました。 データファイルのフィールドが最大長を超えています となってしまいます。 insert文で行うと問題なくinnsertできています。 制御ファイルなどの記述が悪いのでしょうか? 制御ファイルは、 OPTIONS(LOAD=-1,SKIP=0,ERRORS=-1,ROWS=-1) LOAD DATA INFILE 'data.csv' BADFILE 'data.bad' APPEND INTO TABLE DATATABLE FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY "'" TRAILING NULLCOLS ( DATABUFF ) ご教授ください。 よろしくお願いします。 環境:Oracle10GR2+Linux

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

> DATABUFF ここのところを「DATABUFF CHAR(n)」(nはテーブル定義に合わせてください)に変更してみては。

w0a15455
質問者

お礼

遅くなってすみません。 CHAR(n)を指定することでOKでした。 ありがとうございました。

その他の回答 (1)

回答No.2

CSVファイルを作ったOSはLinuxですか? CSVファイルをLinuxで参照したとき^Mのような文字は出てませんか? また、データは日本語を含みますか?

w0a15455
質問者

お礼

~Mなどは出ていません。 データは、日本語を含みます。 CHAR(n)を指定することで、対応できました。 ありがとうございました。