在列表之外保存Sharepoint数据

时间:2009-12-22 21:54:39

标签: c# sharepoint sharepoint-2007 sharepoint-api

将数据存储在SharePoint之外的最佳方法是什么?我想使用SharePoint中的默认编辑/视图选项(尽管我计划扩展其功能)。我需要将数据存储在SharePoint列表之外,因为我期待一个大的记录集(开始时为150,000)。

4 个答案:

答案 0 :(得分:2)

我完全同意GalacticJello,在常规sharepoint内容数据库之外存储数据(MOSS 2007)是一个完整而彻底的噩梦。 MS提供了一个ExternalStorage提供程序baseclas供我们覆盖,但是有使用它的主要缺点:

  • 编写和使用您自己的自定义ExternalStorage提供程序实现是可行的,但非常困难
  • ExternalStorage提供程序实现只是这样做,使sharepoint存储在与常规内容db不同的位置。
  • 这意味着您需要编写自己的代码以保持外部存储和列表项同步,我甚至不提及工作流程和版本控制。

  • 最后但并非最不重要(恕我直言最糟糕),创建和使用自定义的ExternalStorage提供商是不是网络应用或网站集可定位,它的用途是在整个农场(并且没有解决方法)。因此,您在该服务器场中创建的任何网站集都将使用外部存储提供程序的文档库。

答案 1 :(得分:2)

您可以将项目存储在列表中,其技巧是创建有效的视图,将页面数据快速返回给用户。

另一种选择是使用文件夹来分割数据。

如果您确实需要将其存储在SharePoint之外,我会考虑等待SharePoint 2010及其“外部列表”功能,因为如果您想在SharePoint 2007中模仿该功能,则需要考虑大量陷阱和事项(去过那里,完成了)。

答案 2 :(得分:0)

您可以创建SQL数据源并使用数据表单Web部件将其连接到编辑表单等。:

Data Forms and SQL Server, Part 1

Data Forms and SQL Server, Part 2

就个人而言,我更喜欢对完全自定义的Web部件进行控制..这样你最终不会遇到限制。

答案 3 :(得分:0)

在这种情况下,听起来所有元素都在同一个列表中,否则SLAM(CodePlex上的免费工具)是相关列表的非常简洁的数据复制工具。

根据上面的评论,它确实看起来像一个简单的'ASP.NET页面可能是最好的选择,除非有必要使用SharePoint的一些充分理由。