我已经设置了一个简单的Oracle外部表测试。
我们使用的数据库是11g。 我遵循了以下步骤:
首先我创建了一个目录:
create or replace directory INTF_DIR AS '/orabin/hrtst/TEST/' ;
这是外部表定义:
CREATE TABLE XXHCM_LU_EXT
(
LOOKUP_TYPE VARCHAR2(200 BYTE) ,
LOOKUP_CODE VARCHAR2(200 BYTE) ,
MEANING VARCHAR2(200 BYTE) ,
ENABLED_FLAG VARCHAR2(10 BYTE)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY INTF_DIR
ACCESS PARAMETERS
( RECORDS DELIMITED BY NEWLINE SKIP 1
BADFILE INTF_DIR:'lookup_code.bad'
LOGFILE INTF_DIR:'Lookup_code.log'
NODISCARDFILE FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"' MISSING FIELD VALUES ARE NULL REJECT ROWS
WITH ALL NULL FIELDS ) LOCATION ( INTF_DIR: 'Lookup_code.csv' )
)
REJECT LIMIT UNLIMITED
但是当我执行**select * frm XXHCM_LU_EXT;**
我收到以下错误:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
error opening file /orabin/hrtst/TEST/Lookup_code.log
另外,我检查了目录和文件的权限:
/orabin/hrtst/TEST$ ls -l Lookup_code.csv
-rwxrwxrwx 1 xxhcmuser dba 259 Feb 29 15:37 Lookup_code.csv
/orabin/hrtst/TEST$ ls -l /orabin/hrtst/TEST/
total 8
-rwxrwxrwx 1 xxhcmuser dba 246 Feb 29 15:38 Control.ctl
-rwxrwxrwx 1 xxhcmuser dba 259 Feb 29 15:37 Lookup_code.csv
-rwxrwxrwx 1 xxhcmuser dba 0 Feb 25 15:08 Lookup_code.log
我仍然无法访问日志文件。