web-dev-qa-db-ja.com

SharePointリストデータをクエリする方法は?

特定のSharePointユーザーに基づくSQLクエリを使用してSharePointリストデータをフェッチする方法を知っている人はいますか?.

7
Santhosh

君は 使えないSharePointリストからデータを取得するためにSQLを実際に使用するべきではありません。これを行う最も一般的な方法は、CAML(SPQuery)を使用してリストアイテムのデータを取得できるカスタムソリューションです(たとえば、ユーザーが作成します) http://msdn.Microsoft.com/en-us/library /Microsoft.sharepoint.spquery.aspx または、SharePointサービスを公開して、同じ結果を得ることができます http://msdn.Microsoft.com/en-us/library/sharepoint/jj164060.aspx

4
Velin Georgiev

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}')
3
Adrian Sullivan

私の場合の解決策-display SP list

select l.tp_title
, n1.title.value('(text())[1]', 'nvarchar(32)') as Title
, n2.[status].value('(text())[1]', 'nvarchar(32)') as [Status]
, n3.[priority].value('(text())[1]', 'nvarchar(32)') as [Priority]
from Lists l
join UserData u on u.tp_ListId = l.tp_ID
cross apply tp_ColumnSet.nodes('/nvarchar1') AS n1(title)
cross apply tp_ColumnSet.nodes('/nvarchar3') AS n2([status])
cross apply tp_ColumnSet.nodes('/nvarchar4') AS n3([priority])
where l.tp_title = 'LIST NAME'
0
Andrey Morozov