2012-01-09 68 views
1

我想將文件存儲在我的sql server 2008數據庫中。如何在Windows應用程序中使用C#存儲doc,xls,pdf,image.xml文件?

我仍然困惑如何做到這一點,以及我必須採取什麼樣的數據類型來存儲我的數據庫中的任何文件。

任何一個有想法資訊,請幫我...

感謝, 巴魯

+0

問了很多次的SO:嘗試讀取HTTP://米奇小麥.blogspot.com/2007/05/save-and-restore-filesimages-to-sql.html – 2012-01-09 04:34:31

回答

0

您可以將數據存儲在二進制和使用全文搜索來解釋二進制數據並提取文本信息:.doc,.txt,.xls,.ppt,.htm。提取的文本被索引並可用於查詢。

欲瞭解更多信息,看看這個:

http://technet.microsoft.com/en-us/library/ms142499(SQL.90).aspx

優點:在數據庫中存儲數據的主要優點是,它使得數據「自足」。由於所有數據都包含在數據庫中,所以備份數據,將數據從一個數據庫服務器移動到另一個數據庫,複製數據庫等等,要容易得多。

此外,您還可以啓用文件的版本控制,並使負載均衡的Web場更加輕鬆。

缺點:你可以在這裏閱讀:https://dba.stackexchange.com/questions/3924/sql-server-2005-large-binary-storage。但是,爲了有效地搜索文件,您必須執行此操作。

或者我可以建議的其他事情可能是將關鍵字存儲在數據庫中,然後將其鏈接到文件共享中的文件。

這是一篇文章討論ABT使用一個FileStream和數據庫:http://blogs.msdn.com/b/manisblog/archive/2007/10/21/filestream-data-type-sql-server-2008.aspx

+0

感謝您回覆Baz ....我將通讀您的文章。 – Balu 2012-01-09 04:38:09

0

的數據類型是 - VARBINARY(MAX)

在數據庫中存儲的文件有它的優點和DIS-優點:

如果文件是不可或缺的,並且積極地改變系統的一部分,並且它們必須與其他數據一起備份 - 您可以將它們存儲在數據庫中,嘗試使用FILESTREAM字段,如果您使用sql server 2005+和您r文件足夠大 - 比如說500k +

如果文件是靜態內容,則可以將它們僅存儲在數據庫中的指針之外。這並不妨礙考慮您的所有自定義權限機器。

存儲和處理數據庫中的文件通常比文件系統慢,但都取決於您的需求。

PROPER使用FILESTREAM的是比使用文件系統慢,數據庫是當你將文件存儲速度稍慢於純varbinary(max)

相關問題