同じ問題に関する質問を確認しましたが、テーマに見られるアドバイスは役に立ちませんでした。
ユーザーtpch1を使用して外部テーブルを作成しました。
CREATE TABLE region_ext (r_regionkey NUMBER, r_name VARCHAR2(25), r_comment VARCHAR2(152)) ORGANIZATION EXTERNAL ( TYPE oracle_loader DEFAULT DIRECTORY tpch1_dir ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE PREPROCESSOR zcat_dir:'zcat' NOBADFILE NODISCARDFILE NOLOGFILE FIELDS TERMINATED BY '|' MISSING FIELD VALUES ARE NULL ) LOCATION ('region.tbl.gz'));
ユーザー tpch1 はディレクトリ zcat および tpch1_dir を作成し、それらへの読み取りおよび書き込み権限を持っています。
このテーブルで選択しようとすると、
select count(*) region_count from region_ext * ERROR at line 1: ORA-29913: error in executing ODCIEXTTABLEFETCH callout ORA-29400: data cartridge error KUP-04001: error opening file E:\mgr\datadir\region.tbl.gz
私はWindows 7、Oracle 12cに取り組んでいます。勉強中に使うので全部変えられる。
これらのディレクトリのプロパティも変更しました。これで誰でもフルに使えるようになり、オーナーもエブリバディです。
解決策を見つけるのを手伝ってください:)