Я создал следующую внешнюю таблицу для Oracle 10G.Ошибка внешней таблицы Oracle 10G
connect system/password as SYSDBA
create or replace directory ext_tab as 'C:\Suman\External_Tables';
CREATE TABLE emp_ext_3(
empno NUMBER(4), first_name CHAR(20), last_name CHAR(20), dob CHAR(10))
ORGANIZATION EXTERNAL(
TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE
NOBADFILE
NOLOGFILE
SKIP 1
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LRTRIM
MISSING FIELD VALUES ARE NULL
REJECT ROWS WITH ALL NULL FIELDS
(empno INTEGER EXTERNAL (4),
first_name CHAR(20),
last_name CHAR(20),
dob CHAR(10) DATE_FORMAT DATE MASK "dd/mm/yyyy")
)
LOCATION ('employee1.dat')
)
PARALLEL
REJECT LIMIT 0;
Теперь, если я попытаюсь выполнить команду select, я получаю следующую ошибку.
SQL> select * from "SYSTEM"."EMP_EXT_3";
select * from "SYSTEM"."EMP_EXT_3"
*
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04040: file employee1.dat in EXT_TAB not found
ORA-06512: at "SYS.ORACLE_LOADER", line 19
Но у меня есть файл «employee1.dat» в «C: \ Suman \ External_Tables». Может кто-то, пожалуйста, помогите мне, почему я получаю эту ошибку?
В Windows случается: Не могли бы вы проверить, что имя файла не employee1.dat.txt, а окна скрывают расширение? –
В качестве примечания: для пользователя sys/system необходимо создать только каталог. Внешняя таблица и запросы на нее должны выполняться с обычным пользователем. –
Я проверил. Имя файла - employee1.dat, а не employee1.dat.txt – user2032118