外部表访问报错
SQL> connect / as sysdba;
Connected.
SQL> show user
USER is "SYS"
SQL> create directory ext_dir_case3 as '/oradata/external_table';
Directory created.
SQL> grant read,write on directory ext_dir_case3 to scott;
Grant succeeded.
SQL> connect scott/tiger;
Connected.
SQL> show user;
USER is "SCOTT"
SQL> create table ext_case3
2 (ename varchar2(10),job varchar2(20),sal number)
3 organization external
4 (type oracle_loader
5 default directory ext_dir_case3
6 access parameters
7 (records delimited by newline characterset zhs16gbk
8 logfile 'ext_dir_case3':'ext_case3.log'
9 badfile 'ext_case3.bad'
10 fields terminated by ","
11 reject rows with all null fields
12 (ename,job,sal)
13 )location ('ext_case3.dat')
14 )reject limit unlimited;
Table created.
SQL> select * from ext_case3;
select * from ext_case3
*
ERROR at line 1:
ORA-29913: error in executing ODCIEXTTABLEOPEN callout
ORA-29400: data cartridge error
KUP-04080: directory object ext_dir_case3 not found
原因找到了:
logfile 'EXT_TEST_CASE3':'ext_case3.log'
单引号内大写就ok了