如何使用C#在windows应用程序中存储doc,xls,pdf,image.xml文件?

时间:2012-01-09 04:31:22

标签: c# sql-server-2008

我想将文件存储在我的sql server 2008数据库中。

我仍然在混淆如何操作以及我必须采用什么数据类型来存储数据库中的任何文件。

任何人都有这方面的想法请帮助我...

谢谢, 巴鲁

2 个答案:

答案 0 :(得分: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。但是,为了有效地搜索文件,您必须这样做。

或者我建议的另一件事可能是将关键字存储在数据库中,然后将其链接到文件共享中的文件。

这篇文章讨论了使用FileStream和数据库的abt:http://blogs.msdn.com/b/manisblog/archive/2007/10/21/filestream-data-type-sql-server-2008.aspx

答案 1 :(得分:0)

数据类型为 - VARBINARY(MAX)

将文件存储在数据库中有其优点和缺点:

如果文件是完整的并且主动更改系统的一部分并且必须与其他数据一起备份 - 您可以将它们存储在数据库中,尝试使用{{ 1}}字段,如果您使用sql server 2005+并且您的文件足够大 - 比如500k +

如果文件是静态内容,则可以将它们存储在外部,只有指针存储在DB中。这并不妨碍考虑所有自定义权限计算机。

在文件系统中存储和处理文件通常比文件系统慢,但这一切都取决于您的需求。

正确使用filestream NOT 比使用文件系统慢,当您在纯FILESTREAM列中存储文件时,数据库速度会慢一些