0

我有一个使用 SQL SERVER 2008 的网站,它允许用户上传 excel、word、txt、pdf、媒体文件和其他格式的文件。(就像 Rapishare,Megaupload)

将它们存储到 SQL SERVER 的最佳方法是什么?

4

2 回答 2

2

FILESTREAMVARBINARY(MAX),但您应该考虑这样做与将文件存储在文件系统上并且只是指向数据库中文件的指针的利弊。

在数据库中存储文件的优点:

  • 事务一致性
  • 安全性(假设您需要它并且您的数据库无论如何都没有完全开放)

缺点:

  • 更大的数据库文件 + 备份(如果您托管在其他人的存储上,这可能会很昂贵)
  • 更难调试(你不能在 Management Studio 中说“SELECT doc FROM table”并弹出 Word)
  • 更难将文档呈现给用户(并允许他们上传) - 您必须构建一个应用程序来获取文件并将其存储在数据库中,然后拉取文件,而不是仅仅提供文件系统上文件的链接从数据库中将其呈现给用户。

在 SQL Server 2012 中,FileTable将提供更实用的混合。

于 2012-05-31T17:41:28.007 回答
1

由于您使用 SQL Server 2008,您可能会查看文件流功能。这应该是一种从文件大小超过 1 MB 的文件中存储二进制数据的有效方法。

于 2012-05-31T17:40:52.253 回答