2011-02-03 132 views
1

我想在我的C#Windows应用程序中将文件保存到数据库中。我应该使用哪种数据库技术?将文件保存到数据库中

我希望能够保存文件并用我的应用程序打开保存的文件。

+0

你的档案有多大?他们是什么类型的文件? – 2011-02-03 16:42:54

回答

7

如果你正在处理的Microsoft SQL Server,还有由微软研究院做了一个非常有趣的性能对比:

To BLOB or not to BLOB

他们得出的结论基本上是:

  • 如果你的文件大多是256 KB或更小,将它们存储在里面数据库
  • 如果你的文件大多是1 MB或更大,stor e在文件系统中,只存储数据库中对它们的引用(例如,使用SQL Server 2008)
  • FILESTREAM功能,如果你的文件大多是这两个尺寸之间,它涉及到其他因素,如更新的频率,硬件提供等

而且如果你曾经需要存储大于2 GB的文件,将它存储在文件系统中是您唯一的选择,真的。所以这也可能是一个决定性因素。

0

大多数现代数据库将允许您保存二进制数据。即在SQL服务器中,您有blob类型,您可以在其中存储您喜欢的任何二进制数据。

0

this页面。有一个例子,打开一个文件并保存..

所以你可以实现自己的代码,将其保存到数据库?

,如果你想保存的文字,我会推荐使用SQL Server或Oracle数据库,我已经学会了编程,C#和SQL服务器,但了解到甲骨文

理论
3

存储实际文件导入数据库可能是不最好的方法,因为有一个地方旨在存储文件,并已经做得很好,这就是所谓的文件系统:)它是所谓的文件系统:)

这就是说,如果你可以使用Sql Server,你可以看看FILESTREAM storage,因为它是一种两者之间的中点。

+0

和SQL Server 2011 Denali会给我们带来`FILETABLE` - http://msdn.microsoft.com/en-us/library/ff929068%28v=sql.110%29.aspx – 2011-02-03 16:48:12