我应该将.pdf文档保存到数据库还是需要搜索的文件夹中

时间:2010-03-01 16:11:13

标签: c# sql sql-server-2008

我有一堆PDF文档需要在我正在制作的网站中使用。我也需要能够搜索PDF。那么将这些文件保存到数据库还是文件夹更好?此外,在这两种情况下,我如何搜索它们?我将基本上搜索他们1或2个单词并返回包含结果的PDF列表。做这一切的最好和最简单的方法是什么?此外,PDF文件每年最多更换一次,有时甚至更少,我不需要保留修订历史记录。

4 个答案:

答案 0 :(得分:5)

您可以使用varbinary字段和扩展字段将PDF存储在表格内。然后,您可以利用Fulltext serch引擎在PDF内搜索。您必须在SQL服务器中安装PDF iFilter。我不知道这是否是最简单的方法,但我知道它的效果很好。我正在使用该模式来存储数十万个文档,并且表现非常出色。

答案 1 :(得分:1)

对于在文件系统中保存事物而不是将它们保存在数据库中,这是一遍又一遍的论点。遗憾的是,没有正确或错误的答案,这完全取决于项目的范围。看看这个stackoverflow问题。它是关于在DB中保存图像,但它的原理是相同的。

Store pictures as files or in the database for a web app?

答案 2 :(得分:1)

正如人们所说,我认为两种方式都有许多优点和缺点,但如果我不得不采取这种决定,我绝对不会在数据库中保存pdf文件。我不是只谈论与效率相关的术语......我想如果你必须改变你的数据库引擎,你将来会做些什么。我总是尽量获得最标准的数据库类型。 =)

答案 3 :(得分:0)

这取决于我们在这里谈论的文件数量。

我可能会创建一个数据库表,我将文档信息(例如名称,描述,上传者等)映射到文件名。我不会将整个文件存储在数据库中。

这样,你需要将磁盘上的文件与数据库同步。当有人删除文件(使用Web界面)时,从数据库中删除该条目并删除磁盘上的文件。