当前位置:  开发笔记 > 数据库 > 正文

使用Oracle 10g保存和检索二进制文件的最佳方法是什么?

如何解决《使用Oracle10g保存和检索二进制文件的最佳方法是什么?》经验,为你挑选了1个好方法。

我即将在我们的应用程序中实现一项功能,允许用户"上传"PDF或Microsoft PowerPoint文档,然后应用程序将其提供给查看器中的其他用户(因此他们无法"下载"它在'另存为......'意义上).

我已经知道如何在数据库列中保存和检索任意二进制信息,但由于这将是我们应用程序的一个常用功能,我担心该解决方案会导致数据库表格非常庞大(因为我们知道我们的客户之一会想要放置PowerPoint文档中的视频).

我知道有一种方法可以在Oracle中创建一个"目录"对象,但有没有办法使用此功能来存储和检索保存在数据库服务器上其他位置的二进制文件?

或者我对数据库大小过于偏执?

(为了完整性,我们的应用程序是使用CoreLab/DevArt OraDirect.Net驱动程序到Oracle 10g的.Net WinForms )



1> 小智..:

几个选项:您可以将BLOB列放在自己的表空间中,具有自己的存储特性; 您可以将BLOB存储在自己的表中,通过ID列链接到另一个表.在任何一种情况下,如您所建议的那样,您可以将列定义为BFILE,这意味着实际文件存储在数据库外部的目录中.可能存在的问题是,BFILE LOB不参与事务,并且不能与数据库的其余部分一起恢复.

从第23页开始的Oracle 10gR2 SQL参考,第2章中讨论了这一点.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有