-1

我在 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”。有人可以帮我解释为什么我会收到这个错误吗?

4

1 回答 1

0

Oracle 服务器正在以下位置查找文件:“C:\Suman\External_Tables”。该目录位于 Oracle 服务器计算机上,而不是本地 Windows 客户端计算机上。

于 2013-02-18T08:42:37.163 回答