- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0 |
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)。
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |