是否在SharePoint表上创建了一个糟糕的样式?

时间:2008-11-07 19:02:41

标签: sharepoint

我只使用sharepoint工作了三个月,但从一开始我就被告知SharePoint内容数据库不受限制,因为MS可以随时更改架构。建议的路线是使用对象模型,在大多数情况下,我有点理解。

现在我需要加入一些列表,以便呈现按某些特定字段分组的内容。而不是迭代遍历每个列表,我宁愿将我们自己的db驻留在同一个DB服务器上,链接到WSS内容DB,只需在表上创建一个视图。此视图应位于我们的数据库中,以便我们不会更改WSS内容数据库上的任何内容。

我是否在通往永恒诅咒的路上?

4 个答案:

答案 0 :(得分:4)

是的,你是。 Microsoft 非常明确表示,对SharePoint表的任何修改都会使您无法使用。

Direct modification of the SharePoint database or its data is not recommended because it puts the environment in an unsupported state.

现在,在您自己的DB上创建一个查询SharePoint DB的链接是不稳定的。就个人而言,我会做两件事之一:

  • 如果这是一个任务关键型应用程序,请运行它通过MSFT支持。
  • 如果是其他任何内容,只需确保您的视图在查询期间没有锁定数据库。

更好的策略可能是迭代列表并将其同步到您自己的表中,这样您就可以进行任何类型的数据挖掘 - 如果您不介意同步例程需要的延迟时间。< / p>

答案 1 :(得分:1)

SharePoint几乎依赖于底层数据库的总“所有权”。 像从SharePoint数据库读取的另一个进程这样的小事可能会以意想不到的方式减慢SharePoint的运行速度。

由于SharePoint通常不会以“实时”方式更新,因此创建一个查询共享点列表并将数据添加到您自己的应用程序中的表的过程应该足够了。

将抓取计划为较低的活动期,并选择一个不会让SharePoint意外放缓的解决方案。

开始搜索SPQuery上的SharePoint查询。

答案 2 :(得分:1)

查看SLAM,SharePoint列表关联管理器。它允许您轻松地将SharePoint数据推送到SQL,包括复杂的连接(一对一,一对多,多对多)。它可以实时保持数据同步。

http://slam.codeplex.com

答案 3 :(得分:0)

好吧,如果您需要做的连接非常简单,在SharePoint Designer中定义linked data source可能对您有用