Linux VM で oracle 11g を使用して単純な外部テーブル プログラムを実行しようとしています。問題は、.txt ファイルからデータをクエリできないことです。
これが私のコードです:
CONN / as sysdba;
CREATE OR REPLACE DIRECTORY DIR1 AS 'home/oracle/TEMP/X/';
GRANT READ, WRITE ON DIRECTORY DIR1 TO user;
CONN user/password;
CREATE TABLE gerada
(
field1 INT,
field2 Varchar2(20)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY DIR1
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ';'
MISSING FIELD VALUES ARE NULL
)
LOCATION ('registros.txt')
)
REJECT LIMIT UNLIMITED;
--Error starts here.
SELECT * FROM gerada;
DROP TABLE gerada;
DROP DIRECTORY DIR1;
エラーメッセージは次のとおりです。
1 行目のエラー:
ORA-29913: ODCIEXTTABLEOPEN コールアウトの実行中にエラーが発生し
まし
た
registros.txt は次のようになります。
1234;hello world;
DIR1 の権限を確認しましたが、読み取り/書き込み権限があります。
何か案は?