【问题标题】:Is creating a view on SharePoint tables bad style?在 SharePoint 表上创建视图是否不好?
【发布时间】:2009-05-11 07:03:36
【问题描述】:

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

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

我是否正在走向永恒的诅咒?

【问题讨论】:

    标签: sharepoint


    【解决方案1】:

    是的,你是。 Microsoft 非常清楚,对 SharePoint 表的任何修改都会使您无法支持。

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

    现在,在您自己的数据库上创建一个查询 SharePoint 数据库的链接是不可靠的。就个人而言,我会做以下两件事之一:

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

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

    【讨论】:

    • 好的,但这不会像并发问题一样打开一个新的蠕虫罐吗?如果更新过程在用户更新列表之一的同时运行?
    • 不要认为这将是一个问题,因为将数据放入您自己的表中的数据抓取将从数据库中获取并插入到数据库中。该数据库设计得非常好,可以处理这个问题。
    • 当然可以,但是在爬虫再次运行之前,数据会不同步。我想我应该关注相关列表中的事件,以尽量减少该问题
    • 这就是为什么我说如果你不介意滞后。如果这是超级关键任务(我的意思是,足够重要,你们都有 Premier 支持合同,yada yada),那么如果您在 cornet design dot com 的 foyc 与我联系,我可以为您提供资源。否则 OM 和赛事是你最好的选择
    【解决方案2】:

    SharePoint 在很大程度上依赖于底层数据库的全部“所有权”。 从 SharePoint 数据库读取另一个进程之类的小事情可能会以意想不到的方式减慢 SharePoint 的操作。

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

    将爬网安排在活动量较低的时段,这样的解决方案不会导致 SharePoint 出现意外减速的风险。

    SPQuery 开始搜索 SharePoint。

    【讨论】:

      【解决方案3】:

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

      http://slam.codeplex.com

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-06-08
          • 1970-01-01
          • 2015-09-20
          • 2021-05-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多