1. ホーム

sqlldr データファイルのフィールドが最大長を超える "

2022-03-18 01:32:38

sqlldr 派生を使用すると、次のエラーが発生します。

レコード 1: 拒否されました - テーブル PC_PLANNAME、列 PLANNAME でエラーが発生しました。



データファイルのフィールドが最大長を超えています。

ググってみたら、原因がわかりました。

        テーブルで定義されているPLANNAMEフィールドはVARCHAR(2000)であることが判明しましたが。

        が、コントロールファイル(CTL)のデフォルトはcharになっています。

        そのため、カラムのデータ長が255(char型の長さ)を超えると、エラーになります。

回避策

      CTLファイルの "PLANNAME "を "PLANNAME char(2000)" に変更すると、うまくいきました! varchar型ではなく、char型に注意してください!