用ORACLE数据库存储海量图像数据

文章作者 100test 发表时间 2007:05:13 22:27:12
来源 100Test.Com百考试题网


在利用ORACLE平台进行数据库系统的开发过程中,对于海量图像数据的管理,目前,大都采用表 实体的方法,即图像数据以文件形式存放于指定的计算机目录下,在数据库表中只反映图像数据文件的存储路径。这种管理模式,给数据的维护增加了难度,同时,也给数据的安全带来一定的隐患。因此,要真正做到各类数据在数据库中安全管理,研究和探索直接将海量图像数据存储在数据库关系表中的方法是非常必要的。数据库

笔者在Visual Basic 6.0开发环境中,采用客户机/服务器的工作方式,针对ORACLE数据库关系表中存储大量图像数据的问题和存储海量图像数据的策略与方法进行了初步探讨,提出了一套基本解决方案,供读者参考。

一、大对象数据类型介绍
在关系型数据库中,大数据量图像数据等大型对象是由lob型字段来进行存取的。在Oracle8i中,正式引入了此标准,以适应多媒体大对象处理的需求。Oracle数据库中,lob型数据有以下几种:
Lob类型 说明
Clob: 和Oracle7的long型相似,clob可以存储单字节型数据
Nclob: Nclob存储定宽的多字节国家字符集数据
Blob: 和Oracle7中的long raw类型相似。可以存储无结构的二进制数据。Oracle8没有对这种数据进行解释 ,只是按照原来的形式存储和检索它。

Bfile: Bfile允许对Oracle数据库以外存储的大型二进制文件进行只读形式的访问。和其它三种lob类型数据 不同的是,bfile类型数据存储在一个单独的文件中,该文件不由Oracle来维护。

特点:
1.在Oracle7中,相应的long或long raw字段有2g的限制,而lob的限制是4g 。
2.lob可以使用调用接口OCI或者由pl/sql利用dbms_lob包进行操纵。
3.lob不象long型那样每个表中最多只有一个字段的限制,其可以有多个,而又可以利用触发器的特性。
4.lob数据处理可以获得与其它数据同样的事物特性。
5.lob的存储比较特殊,它并不是跟其他数据存储在同一个数据库表中,而是可以单独存放于不同的表空间中,由一个定位符指向实际的lob数据。

相关文章


使用DBMS_METADATA包获得对象DDL
教你Oracle的数据缓冲区是如何工作
用ORACLE数据库存储海量图像数据
Oracle异常关闭导致的故障及解决办法
Oracle中怎样用自治事务保存日志表
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛