Est-ce que quelqu'un sait comment récupérer les données de la liste Sharepoint en utilisant une requête SQL basée sur l'utilisateur du point de partage particulier.
Vous ne peut pas utiliser ne devrait pas vraiment utiliser SQL pour obtenir des données à partir de la liste SharePoint. La solution la plus courante consiste à utiliser une solution personnalisée permettant d’utiliser CAML (SPQuery) pour extraire des données d’éléments de liste (créés par l’utilisateur, par exemple) http://msdn.Microsoft.com/en-us/library/Microsoft .sharepoint.spquery.aspx ou vous pouvez exposer les services SharePoint pour obtenir les mêmes résultats http://msdn.Microsoft.com/en-us/library/sharepoint/jj164060.aspx .
Tant qu'il s'agit de SharePoint 2010, il est encore relativement facile d'extraire du code SQL tant que vous avez le GUID de la liste id
Voir ici
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}')
Solution pour mon cas - affichez la liste SP
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'