Я получаю сообщение об ошибке «Файл не найден», хотя я поместил файл в правильное место.
Я создал каталог CREATE или заменил 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».
Я проверил эту ссылку, но это не решило мою проблему: