如何创建外部表
法一:create table语句创建
1.创建directory对象
create directory extdir as 'D:\oracle\product\10.2.0\db_1\script';
grant read,write on directory extdir to scott;
2.执行create table语句
create table ext_case1
(ename varchar2(10),
job varchar2(20),
sal number)
organization external
(type oracle_loader
default directory extdir
access parameters
(records delimited by newline
skip 6
fields terminated by ","
(ename,job,sal)
)
location('ldr_case1.ctl')
);
create table ext_case1
(ename varchar2(10),
job varchar2(20),
sal number)
organization external //指定这是一个外部表
(type oracle_loader //指定访问驱动
oracle_loader //传统方式,与sqlldr一脉相承,参数众多,应用广泛
oracle_datapump //数据源是二进制文件
default directory extdir //指定数据文件所在路径对应的directory对象名称
access parameters //指定加载参数
(records delimited by newline //指定记录结束标记,默认以换行结束
badfile 'extdir' : 'ldr_case1.bad' //directory对象名和错误文件名称
logfile 'ldr_case1.log_xt' //日志文件名
readsize 1048576 //读取日志文件的缓存区大小,默认是1MB
skip 6 //跳过的记录数
fields terminated by "," //导入数据的分隔符
(ename,job,sal) //列定义
)
location('ldr_case1.ctl') //指定数据源
)reject limit unlimited; //不指定默认为0不允许出现错误,unlimited则是不限制
法二:sql*loader创建
sqlldr scott/scott control=ldr_case1.ctl external_table=generate_only/execute/not_used
二.修改access parameters,将日志文件放入外部表中
1.修改access parameter 中logfile名为ext_case1.log
alter table ext_case1 access parameters
(records delimited by newline
badfile 'extdir' : 'ldr_case1.bad'
logfile 'ext_case1.log'
readsize 1048576
skip 6
fields terminated by ","
(ename,job,sal)
)
如果要修改参数的话,所有参数必须重新设定
alter table ext_tb1_name default directory dir_name;
alter table ext_tb1_name location ('filename');
select dbms_metadata.get_ddl('table','ext_case1') from dual; //查询表对象的定义
2.创建存放日志文件的外部表
create table ext_case1_log(
lname varchar2(4000))
organization external
(type oracle_loader
default directory extdir
access parameters
(records delimited by newline
nologfile
nobadfile
nodiscardfile
fields terminated by ","
(lname position(1:4000))
)
location('ldr_case1.log')
);
select * from ext_case1_log where rownum<=10;
注:以oracle_datepump加载的只有日志文件,没有错误文件和废弃文件
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22253646/viewspace-667348/ ,如需转载,请注明出处,否则将追究法律责任。