如何查询Sharepoint列表数据?

San*_*osh 7 sql sql-server sharepoint sharepoint-2010

有没有人知道如何使用基于特定sharepoint用户的SQL查询来获取Sharepoint List数据.

小智 5

不能使用 不应该真正使用SQL 从 SharePoint 列表中获取数据。执行此操作的最常见方法是自定义解决方案,您可以在其中使用 CAML (SPQuery) 检索列表项的数据(例如由用户创建)http://msdn.microsoft.com/en-us/library/microsoft.sharepoint .spquery.aspx或者您可以公开 SharePoint 服务以获得相同的结果http://msdn.microsoft.com/en-us/library/sharepoint/jj164060.aspx

  • 要扩展 Velin 的答案,您必须将 SharePoint 视为黑匣子。不仅架构非常奇怪(在关系数据库中拟合文档数据库既不自然也不简单),而且微软表示架构不是固定的,最终可能会随着新版本的发布而改变。 (2认同)

Adr*_*van 5

只要是 SharePoint 2010,只要您拥有列表 ID GUID,从 SQL 中提取仍然相对容易

这里

    SELECT
    ud.tp_ID
    , ud.tp_ListId
    , ud.tp_Author
    , ud.nvarchar1
    , ud.nvarchar2
    , ud.nvarchar3
    , ud.nvarchar4
    , ud.nvarchar5
    , ud.nvarchar6
    , ud.nvarchar7
    , ud.nvarchar8
    , ud.nvarchar9
    , ud.nvarchar10
    , ud.nvarchar11
    , ud.nvarchar12
    , ud.*
    FROM dbo.UserData ud
    WHERE (ud.tp_ListId =  '[{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}')
Run Code Online (Sandbox Code Playgroud)