我在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
但我在'C:\ Suman \ External_Tables'中有“employee1.dat”文件。有人可以帮我解释为什么我会收到这个错误吗?
答案 0 :(得分:0)
Oracle服务器正在以下位置查找文件:'C:\ Suman \ External_Tables'。该目录位于Oracle服务器计算机上,而不是本地Windows客户端计算机上。