【推荐阅读:数据库学习:MySQL Join详解】
【扩展信息:MySQL文件系统先睹为快(1)】
关键词:oracle dbms_lob lob 维护 中图分类号:tp31 1.引言 随着社会的发展,在现代信息系统的开发中,需要存储的已不仅仅是简单的文字信息,同时还包括一些图片与音像资料或者是超长的文本.比如开发一套旅游信息系统,每一个景点都有丰富的图片.音像资料与大量的文字介绍.这就要求后台数据库要有存储这些数据的能力.oracle公司在其oracle8i中通过提供lob字段实现了该功能. 为了便于读者的理解,我们先介绍一些基本的概念: 在oracle数据库中,lob(large objects—大对象)是用来存储大量的二进制与文本数据的一种数据类型(一个lob字段可存储可多达4gb的数据).目前,它又分为两种类型:内部lob与外部lob.内部lob将数据以字节流的形式存储在数据库的内部.因而,内部lob的许多操作都可以参与事务,也可以像处理普通数据一样对其进行备份与恢复操作.oracle8i支持三种类型的内部lob:blob(二进制数据).clob(单字节字符数据).nclob(多字节国家字符数据).其中clob与nclob类型适用于存储超长的文本数据,blob字段适用于存储大量的二进制数据,如图像.视频.音频等.目前,oracle8i只支持一种外部lob类型,即bfile类型.在数据库内,该类型仅存储数据在操作系统中的位置信息,而数据的实体以外部文件的形式存在于操作系统的文件系统中.因而,该类型所表示的数据是只读的,不参与事务.该类型可帮助用户管理大量的由外部程序访问的文件. 为了方便下文的叙述,我们假定使用如下语句在数据库中创建了一张表. create table view_sites_info ( site_id number(3), audio blob default empty_blob(), document clob default empty_clob(), video_file bfile default null, constraint pk_tab_view_sites_info primary key (site_id) ); 2.lob的使用与维护 oracl提供了多种使用与维护lob的方式,如使用pl/sql dbms_lob包.调用oci(oracle call interface).使用proc * c/c++.使用jdbc等.其中最为方便有效的是使用pl/sql调用dbms_lob包,本文就将介绍该方法.... 下一页