繁体   English   中英

在sql server中存储html内容和其他文档(pdf,word,excel)?

[英]Storing html content and other documents (pdf, word, excel) in sql server?

什么数据类型最好存储html内容和文档,如pdf,excel文件和word文档。 我目前正在使用ntext,但我不确定这是否是存储html内容的最佳数据类型。

此外,我目前使用FCKEditor将html内容保存到ntext字段,并将标记与样式一起存储。 如果我碰巧将描述的一部分读入ListView的ItemTemplate,其中包含以下内容:

<%# Eval("content") %>

它显示内容,但也显示标记。 例如,而不是显示:

"This is an html string" ,它会显示<p>This is and html <b>string</b></p>

我会将HTML存储在NVARCHAR(MAX)中(如果不需要超过4000个字符,则会更少)。 不要使用TEXT / NTEXT数据类型,除非你被卡在SQL Server 2000中。它们已被弃用,MAX类型的好处使它们的使用变得愚蠢恕我直言。

我会调查将文件存储为SQL Server 2008中的FILESTREAM。如果您是<2008,或者您已经调查了权衡并且FILESTREAM不是一个选项,那么我个人的偏好是将文件存储在文件系统上,以及本地和/或对数据库中文件的http引用。

将文件存储在数据库中的好处是可以获得事务一致性。 缺点是你使用了更多的数据库空间,这通常是在更昂贵的存储上。 你也有更难的调试时间(你不能在Management Studio中说“SELECT PDFFile FROM Table”,并期望Acrobat Reader弹出并显示你的专栏内容)。

由于在工作中我不得不乞求并签署了的权利,我未出生的孩子更多的SAN配置,并在作怪我得到收取了很多对我的数据库空间使用情况比我的文件空间使用情况,我选择每次基于文件的存储。 在工作中,我们的文件系统已经备份,虽然它与数据库备份不是100%同步,但我们看到的文件损坏问题很少,而不是最终用户的错误(如果没有我们的参与,很容易纠正) - 实际上是零 - 调查似乎不值得。

就像我说的,个人喜好。 但要问正确的问题,了解你的目标和限制。

  • 将Unicode HTML存储为ntext
  • 如果您确定110%只需要ascii,则可以使用text或varchar。
  • 将二进制文件(pdf,word,excel)存储为二进制blob

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM