使用SQL查询SharePoint列表

时间:2013-07-18 19:58:31

标签: sql xml sharepoint ssrs-2008

我知道SQL目前不支持SharePoint查询,但有没有人为此找到解决方法?我一直在遇到我可以用SQL做我需要的任务的情况,但是我正在使用SharePoint,所以我坚持使用SSRS查询设计器或XML;查询设计器并不总是具有我想要的功能(至少不容易),我无法快速学习XML以成为一个实用的选项。

2 个答案:

答案 0 :(得分:3)

我在现场环境中每天都这样做,但它需要很高的设置成本或只需要访问工具。

我这样做的方法是使用SSIS作业将数据从SharePoint提取到SQL表中,这需要下载SSIS的Sharepoint工具集。

第1步 - 为表格创建暂存/保留数据,以确保报告始终可以使用数据

第2步 - 写一份工作 a)拉取临时表中的数据 b)比较实时表中的数据以及从实时表中更新,插入和删除

步骤3 - 当作业完全正常工作时,将其设置为SQL Scheduled以每小时运行一次,以便数据按小时更新。建议将其设置为在作业失败时发送电子邮件警报

步骤4 - 然后数据在SQL中,可以从Live表而不是登台表中查询为普通查询

答案 1 :(得分:0)

如果您使用SharePoint 2010 here you go

    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.Lists l
    INNER JOIN dbo.UserData ud ON l.tp_ID = ud.tp_ListId
    WHERE (ud.tp_ListId =  '[{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}')