有谁知道如何使用基于特定共享点用户的 sql 查询来获取共享点列表数据。
问问题
42553 次
4 回答
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}')
于 2013-10-29T13:35:40.040 回答
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。
于 2013-09-27T13:12:12.987 回答
0
首先,您的 SP 列表将需要一个捕获用户帐户信息的字段。将 SQL 报表生成器与 SharePoint 列表数据连接一起使用,在报表上为@User
. 将此设置为隐藏参数。将此参数的默认值设置为=Right(User!UserID,8)
:这将为您提供用户帐户信息的最后 8 个字符,然后您可以根据这些字符过滤数据集(您的帐户信息可能多于或少于 8 个,因此根据您的设置构建)。您需要在数据集或表本身上设置过滤器,以将列表中的字段与参数匹配。
于 2020-02-05T18:33:53.387 回答
0
我的案例的解决方案 - 显示 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'
于 2018-06-05T13:59:41.867 回答