-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」の場所でファイルを探しています。そのディレクトリは、ローカルの Windows クライアント マシンではなく、Oracle サーバー マシン上にあります。

于 2013-02-18T08:42:37.163 に答える