Oracle外部表如何创建?

科技 2年前 阅读:5 评论:0

  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 create directory upload_log_dir as '/tmp/upload_log';

Directory created。

-- 5。 重建外部表,将log和bad指向新途径

SQL> drop table analog_tmp_entrypage_ext_1 purge;

Table dropped。

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 badfile upload_log_dir:'analog_tmp_entrypage_ext_1%A_%P。

  bad'

13 logfile upload_log_dir:'analog_tmp_entrypage_ext_1%A_%P。log'

14 fields terminated by X'05'

15 missing field values are null

16 (PROFILE_ID, REPORT_TIME, SESSION_ID, URL)。

版权声明

本文仅代表作者观点,不代表木答案立场。

网友评论

本站会员尊享VIP特权,现在就加入我们吧!登录注册
登录
用户名
密码
验证码
若未跳转,可点击这里刷新重试
未知错误
注册
用户名
密码(至少8位)
确认密码
邮箱(请填写常用邮箱)
验证码
若未跳转,可点击这里刷新重试
未知错误
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱
若未跳转,可点击这里刷新重试
未知错误