私は.tblファイルを使用して外部テーブルを作成し、次を使用してそのテーブルからすべての行を選択しようとしています。
select * from users_load;
しかし、私はこのエラーを受け取ります:
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-30653: reject limit reached
このエラーが発生している理由を知っていますか?このテーブルには数百万の行があります。これが原因であるかどうかはわかりません...
エラーをスローする前に拒否できる行数を指定するか、UNLIMITED
を指定できます。数値を指定したようですが、.tbl
ファイルには、データベースが定義に基づいて適切に解析できない行が含まれています。
不正な形式の行をすべて無視する場合は、制限をUNLIMITED
に変更するだけです。
alter table users_load reject limit unlimited;
テーブルの作成例:
CREATE TABLE foo_load (
employee_number CHAR(5)
) ORGANIZATION EXTERNAL (
TYPE Oracle_LOADER
DEFAULT DIRECTORY ext_tab_dir
ACCESS PARAMETERS (
...
)
LOCATION ('foo.txt')
)
REJECT LIMIT UNLIMITED; --Use limit, not limited