电脑教程中文网
首页  动态网站建设学习 程序  笑话  论坛 娱乐  交友 ADSL  峄城  成功者
中文名:电脑教程中文网,收集了大量的电脑教程! 编程技术文档 游戏开发 笑话站暂时关闭 设为首页
网页设计 HTML | Dreamweaver | CSS | Firework | FrontPage WEB开发 ASP | JSP | PHP | .NET | CGI | JS | VBS | XML | IIS6 | Apache | PWS
程序设计 Java | C++ |VC++ | C# | Delphi | VB | C语言 | 汇编 | Pascal | Perl 数据库 MSSQL | MySQL | Access | VF | Oracle | DB2 | SYBASE |
办公软件 Word | Excel | WPS | PowerPoint 动画平面 Photoshop | ACDSee | 3Dmax | Flash | Coreldraw |
操作系统 Windows 2000 | Windows XP | Windows 2003 | SCO Unix | Windows Vista | unix、Linux | 综合| 服务器 | 系统安全| 黑客技术
其  他 UltraDev | DOS | UML | PWS | Powerbuilder | 开发心得 | 设计理念 | 病毒库 | 其他 | LightTPD (分类排序给您带来不便请谅解)
推  荐: Java文档500篇》《ASP.NET与相关数据库技术高级指南》《TC图形函数详解》《C函数速查手册》《C语言编程宝典之一》《MFC深入浅出》《黑客零起点》《VC++ 编程指南》《JScript 用户指南》 《CSS教程宝典》《Microsoft Jet SQL 参考》《delphi技巧集合》《MySQL 4.1.0 中文参考手册》《MySQL中文手册
【导航】 您现在的位置 : 首页 - database教程 - 《Oracle数据库技术文档-收集》- 用Oracle SQL实现文件访问

用Oracle SQL实现文件访问

日期:2005-8-5 17:19:34    作者:佚名   人气:   来源:网络





 
  Oracle9i有一个最引人注目的优点,这就是通过Oracle SQL访问非Oracle文件的能力。这
一新功能被称做外部表(external tables),它对某些系统具有非常重要的作用,可以令非
数据库应用程序利用外部文件,而且让这些文件被Oracle视作普通的数据表。

  正如你所看到的那样,Oracle让数据库程序采用utl_file实用工具写普通文件。结合外部
表的读取能力,这种新型拓扑不再需要所有的Oracle数据驻留在Oracle表内,也不需要为
Oracle打开新的应用程序。下面我们就深入了解这种新特性的工作原理。
   定义外部表
   假设你要求Oracle引用以下逗号分隔的普通文本文件。
  
   7369,SMITH,CLERK,7902,17-DEC-80,800,20
   7499,ALLEN,SALESMAN,7698,20-FEB-81,1600,300,30

  7521,WARD,SALESMAN,7698,22-FEB-81,1250,500,30
   7566,JONES,MANAGER,7839,02-APR-81,2975,,20
   7654,MARTIN,SALESMAN,7698,28-SEP-81,1250,1400,30

  7698,BLAKE,MANAGER,7839,01-MAY-81,2850,,30
   7782,CLARK,MANAGER,7839,09-JUN-81,2450,,10

  7788,SCOTT,ANALYST,7566,19-APR-87,3000,,20

  7839,KING,PRESIDENT,,17-NOV-81,5000,,10
   7844,TURNER,SALESMAN,7698,08-SEP-81,1500,0,30

  7876,ADAMS,CLERK,7788,23-MAY-87,1100,,20
  
   以上文件包含一些职员信息:
   职员工号
   姓名
   职务说明
   经理的工号
   参加工作日期
   薪水
   任命
   部门
   那么该如何给Oracle定义这一文件呢?首先,我们必须在数据字典中创建一个Oracle目录
入口,而数据字典则指向以上文件所驻留的Windows目录。在这个例子中我们把目录命名为
testdir并指向c:docspubsdbqueries目录:
      SQL> create directory testdir as ‘c:docspubsdbqueries’;
  
   Directory Created.
   现在目录创建完毕,我们可以给Oracle定义外部表的结构了。代码如
   程序清单A 所示。

  从语法上看,我们对外部表列的定义方式同内部Oracle表的定义方式是一样的。外部定义采用有住址的外部子句,如表A所示。
   外部表定义好后就可以用SQL对外部表运行报告了,其工作方式就好象驻留在数据库内的普通数据表。查询示例如
   程序清单B所示,注意高级ROLLUP参数的复杂用法总计了部门和职位的薪水。结果如 程序清单C所示。
   外部表的局限性
   由于外部表是一种崭新的特性,Oracle还不能完美地充分利用这一功能。在Oracle9i中这
   不支持DML。外部表都是只读的,但是原始数据可以用任何文本编辑器进行编辑。
   高强度查询的响应较为迟钝。外部表具有一定的处理负载,不太适合大型表的应用。
   小结
   通过Oracle访问普通文件具有很大用途。接下来的文章里我们将教你为Oracle定义电子数
据表(spreadsheet)。这一技术对那些用户可以控制桌面电子表内系统范围参数的商用系统

  <




网站首页 - 友情链接 - 公司简介 - 联系方式 - 广告投放 - 客户服务 - 错误报告 - 免责声明 - About us
CLDE.NET电脑教程中文网版权所有 未经许可禁止镜象和复制本站资料 MSN:CLDE_NET@hotmail.com
技术支持:CLDE.NET信息中心 鲁ICP备05039940号 友情链接QQ:784079(隐)