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

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

    エラーメッセージは、データファイルから読み込まれたデータが、CHARとサイズが指定されていない場合に使用されるsqlldrのデフォルトの文字バッファ255よりも大きいためです。これは、フィールドが対応する列のサイズとは異なることに注意してください。たとえば、VARCHAR2(4000)のテーブル列があるが、制御ファイルにサイズを明示的に指定していない場合

    cola  not null,
    

    データファイル内のデータが255を超え、長さが4000未満の場合、エラーが発生します。

    ただし、制御ファイルに次のようなバッファサイズが記載されている場合:

    cola char(4000) not null,
    

    すべてが、より大きなバッファーを作成するかのように機能します(ここでは列サイズと一致します)。したがって、常に列サイズを含める習慣を身に付けてください。手間を省いて、デフォルトの制御ファイルを生成する関数を作成してください...私があなたのために投稿したのを待って、試してみてください: https://stackoverflow.com/a/37947714/2543416



    1. PostgreSQL:特定の半径内のすべてのポイントを取得する方法

    2. Postgres、table1はtable1のIDごとに1行のみでtable2を左結合します

    3. SELECT*列のMySQLエイリアス

    4. SQL国民文字(NCHAR)データ型は本当に何のためにありますか?