oracle外部表创建语法,Oracle 外部表的创建

记录一下自己创建外部表的过程,因为中间出了一些小错误。

-- 1. 创建文件目录

SQL> create directory upload_dir as '/storagepool/upload';

Directory created.

-- 2. 创建外部表

SQL> create table analog_tmp_entrypage_ext_1(

2  PROFILE_ID NUMBER(22),

3  REPORT_TIME NUMBER(22),

4  SESSION_ID NUMBER(22),

5  URL VARCHAR2(2048)

6  )

7  organization external

8  (type oracle_loader

9  default directory upload_dir

10  access parameters

11  (records delimited by newline

12  fields terminated by X'05'

13  missing field values are null

14  (PROFILE_ID, REPORT_TIME, SESSION_ID, URL)

15  )

16  location('weblog.analog_tmp_entrypage_0.dat')

17  );

Table created.

-- 3. 查询报错。因为外部表和sqlldr原理类似,加载外部数据时需要创建log文件,无法加载的数据,会创建bad文件。

--    这里出错的原因是:oracle对路径'/storagepool/upload'没有访问权限,无法在该路径下创建log文件和bad文件。

SQL> select * from analog_tmp_entrypage_ext_1 where rownum 

select * from analog_tmp_entrypage_ext_1 where rownum 

*

ERROR at line 1:

ORA-29913: error in executing ODCIEXTTABLEOPEN callout

ORA-29400: data cartridge error

你可能感兴趣的:(oracle外部表创建语法)