我想在ASP .Net和SQL Server中构建一个共享文档库但是我遇到了问题,客户想要在Office UI中打开文档(存储在SQL Server中),保存时,文档应该是直接保存在SharePoint Server等数据库中。
自上周以来,我一直在网上进行研究,但我没有找到任何答案或具体技术来做这件事。
你有什么想法吗?
谢谢,
塞尔吉奥
答案 0 :(得分:2)
我认为最好将信息存储在文档或文件路径中,而不是文档本身。尽管如此,有可能实现您想要实现的目标。
在ASP.NET站点中,您需要添加导入/导出某些MS Office文档的功能。
该站点可以允许用户在服务器上的文件夹中上载文档,该站点可以将文件路径存储在数据库中。对于下载部分,您只需选择正确的文件路径,以便用户可以下载他/她希望的文档。
该站点可以允许用户上载文档并将其存储在SQL Server数据库中。文档可以存储为BLOBs。在SQL Server中,您可以使用varbinary(max)
数据类型。下载部分会相当棘手......
以下是一些可以帮助您的网站:
答案 1 :(得分:1)
SharePoint提供了一个WebDAV界面来更新其文件。现在,它可能是一个很大的咀嚼咬,但如果你要开发一个WebDAV界面,这可能是票。
看看这篇文章,其中描述了类似的东西。也许它会帮助你开始。
http://thehojusaram.blogspot.com/2007/06/c-webdav-server-with-sql-backend-source.html
答案 2 :(得分:0)
我不知道有任何工具可以做到这一点,但我看到两种可能性:
1)在DB中保存指向文件的指针,而不是DB本身。我认为这更接近Sharepoint实际上做的事情,但我可能错了,那里。
2)将文档存储为OpenXML(在Xml数据列中)。然后,使用Office Interop打开Word(或其他)并将其传递给OpenXML数据以生成实际文档。当用户点击“保存”时,将其作为OpenXML保存回数据库。
------ 奖金理念 ------
3)(对于足够小的文件)如果需要,您也可以在数据库中使用NVARCHAR(MAX)字段来存储数据,但存储格式信息可能有点困难。