ファイルを正しい場所に配置したにもかかわらず、ファイルが見つからないというエラーが表示されます。
ディレクトリを作成しました CREATE or replace DIRECTORY ext_directory AS '/usr/apps/datafiles';
ext_directory に読み書き権限を付与しました。GRANT READ WRITE ON DIRECTORY ext_directory TO MY_DEV;
次に、外部テーブルを作成しました。
CREATE TABLE CUSTOMER_DTL_EXT(Customer_Number CHAR(10), Forename VARCHAR2(40), Surname VARCHAR2(40), Date_Birth VARCHAR2(8)
organization external
(
type oracle_loader default directory ext_directory access parameters
(
records delimited by newline
NOBADFILE NODISCARDFILE NOLOGFILE
FIELDS TERMINATED BY ‘|’
) location (‘SAMPLE.TXT’)
);
chmod 777 SAMPLE.TXT も使用しました
しかし、クエリを実行すると:
Select * from CUSTOMER_DTL_EXT;
次のエラーが表示されます。
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04040: file SAMPLE.TXT in ext_directory not found
29913. 00000 - "error in executing %s callout"
*Cause: The execution of the specified callout caused an error.
*Action: Examine the error messages take appropriate action.
SAMPLE.TXT ファイルをどこに置くべきか教えてください。「/usr/apps/datafiles」自体の下に配置しました。
このリンクを確認しましたが、これで問題は解決しませんでした:
外部表からの選択でのsqlplusエラー: ORA-29913: ODCIEXTTABLEOPENコールアウトの実行中にエラーが発生しました