簡體   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