0

SQLLDR を使用してフラット ファイルから取得した値をテーブルに入力しようとしています。問題は、テーブル内のフィールドの 1 つが CLOB データ型であることです (フィールド名が COMMENTS であるとしましょう)。制御ファイルでは、このフィールドのデータ型を CHAR(4000) と指定しました。これは、制御ファイルでの CLOB の使用が機能していなかったためです。ただし、フィールドに EndOfLine が存在する場合、これも失敗します。したがって、次の行を新しいレコードとしてロードしようとして失敗します。

これに対する解決策を提案してください....よろしくお願いします

4

2 に答える 2

0

perl などを使用して、プログラムでこれを行う必要がある場合があります。または、次の例のようなものを使用できます。

http://www.oracle-base.com/articles/10g/LoadLobDataUsingSqlLoader.php

于 2010-10-14T16:32:07.287 に答える
0

制御ファイルの CLOB 仕様が失敗した理由はわかりませんが、9i 以降であれば、sqlldr を介して CLOBをロードできるはずです。

それができない場合は、 CONTINUEIF を介して物理レコードから論理レコードを組み立てることができるかもしれません。

于 2010-10-14T16:40:22.657 に答える