创建访问非Oracle数据库文件地外部表格_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

创建访问非Oracle文件地外部表格

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

黑客防线网安网讯:Oracle9i能够直接从操作系统的文件获取数据,并让其看起来就像是数据库的内部表格一样。Oracle9i已经扩展了它与操作系统的接口,因此让能够任何类型的平面文件操作起来就好像这个文件是一个...

Oracle9i能够直接从操作系统的文件获取数据并让其看起来就像是数据库的内部表格一样

Oracle9i已经扩展了它与操作系统的接口因此让能够任何类型的平面文件操作起来就好像这个文件是一个关系表一样,这事实上就允许你编写任何类型的SQL来访问标准的关系表事实上,你甚至可以利用微软Excel的电子表格文件(.xls文件),让它们看起来就像是Oracle9i内部的表格一样。

这个(使用)外部表格的功能对于经常有元数据的Oracle数据仓尤其有用。你不用花时间使用Oracle SQL*Loader工具把数据放到数据库里,而可以就把信息留在平面文件里,并为这个平面文件创建一个外部表格。

使用这项技术,信息就好像成了Oracle数据库的一部分,而事实上,该信息在Oracle之外。

现在让我们来看一个简单的例子。我们将从一个以逗号定界的平面文件开始,如下所示。

7369,SMITH,CLERK,7902,12-JAN-98,800,207499,ALLEN,SALESMAN,7698,03-MAR-96,1600,300,307521,WARD,SALESMAN,7698,27-APR-97,1250,500,307566,JONES,MANAGER,7839,20-OCT-97,2975,,207654,MARTIN,SALESMAN,7698,28-SEP-98,1250,1400,307698,BLAKE,MANAGER,7839,11-NOV-98,2850,,307782,CLARK,MANAGER,7839,29-DEC-97,2450,,107788,SCOTT,ANALYST,7566,21-SEP-96,3000,,207839,KING,PRESIDENT,,27-MAY-98,5000,,107844,TURNER,SALESMAN,7698,24-OCT-98,1500,0,307876,ADAMS,CLERK,7788,12-JUN-97,1100,,20

使用下面的命令,我们可以把这个文件定义为Oracle的表格。

Create directory blah as '/home4/teach17'create table external_emp (EMPNO NUMBER(4),ENAME VARCHAR2(10),JOB VARCHAR2(9),MGR NUMBER(4),HIREDATE DATE,SAL NUMBER(7,2),COMM NUMBER(7,2),DEPTNO NUMBER(2))Organization external(type oracle_loaderdefault directory BLAHaccess parameters (records delimited by newlinefields terminated by ',')location ('extemp.txt'))reject limit 1000;

现在,我们就可以对这个表格使用任何SQL了。但是,外部表格有一些很重要的限制:你不能使用DML操作,也不能对外部表格创建索引。而且,外部表格有处理延迟,所以它们不适合于大型的表格。

本文作者:Donald Burleson做数据库管理员已经有23年了,曾经写过14本关于数据库的书和超过100篇的文章。他是《Oracle内幕(Oracle Internals)》的主编,并经营着Burleson Oracle咨询公司(Burleson Oracle Consulting)。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-12719-1.html
网站维护教程更新时间:2012-03-23 00:45:06  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer