我的系统中有一个模块是合同管理,要实现word文档的存取,就类似于电子邮件中的附件那样,是不是要用到Oracle中的BLOB数据类型,Delphi怎样对这样的类型进行存取呢?另外我对数据库相关表的设计想法如下:
专门创建一个表用于存储BLOB类型的数据,在合同管理对应的表中只设置一个BLOB数据的编号,然后根据这个编号到BLOB表中存取相应的数据,大家觉得是这样好呢还是直接再合同管理的表中加一个BLOB类型的字段,那个比较合理一些呢?

解决方案 »

  1.   

    建议使用DOA,对BLOB的存取都很简单,放在一个表和两个表,问题都不大,但是最好把BLOB放在单独的表空间中。二是:请注意不要在SQL中用Select *,要保证编辑其他字段的SQL语句中不包含BLOB字段,另外建一个OracleDataSet来专门取BLOB.我曾经在Oracle数据中存过扫描的图纸(经过小波压缩的,A0一般在400KB以下)和设计文档如3D Model(目前最大约200MB),目前已经BLOB表空间已经有近40GB,系统还是很可靠的。
      

  2.   

    谢谢你的建议,很有用处!
    顺别问一下,Delphi中有DOA组件吗?