sql-server - 为什么 SharePoint 内容数据库中的 Sites.FullUrl 为空?在哪里可以找到网站集 url?

标签 sql-server sharepoint sharepoint-2010

我正在开发一个 sharepoint 项目。它需要使用 SQL 查询来获取有关网站集和 Web 的一些信息。我正在使用 sharepoint 2010:

SELECT
  Webs.Title AS [Site Title]
, Webs.FullUrl AS [Site Url]
, Lists.tp_Title AS [List/Library Title]
, COUNT(*) AS [Total GIF]
, CAST( CAST(SUM(Docs.Size) AS FLOAT) / 1024.0 AS DECIMAL(10,3) ) AS [Size (KB)]
FROM Docs
INNER JOIN Webs On Docs.WebId = Webs.Id
INNER JOIN Sites ON Webs.SiteId = Sites.Id 
INNER JOIN Lists ON Docs.ListId = Lists.tp_ID
WHERE Docs.Type <> 1 
AND Docs.LeafName LIKE '%.gif'
AND Docs.LeafName NOT LIKE 'template%'
GROUP BY
  Webs.FullUrl
, Webs.Title
, Lists.tp_Title
ORDER BY 
  [Site Url]
, [List/Library Title]
, [Total Gif]
, [Size (KB)]

当我直接检查内容数据库时,我发现 Sites.FullUrl 始终为 null,尽管我确实有多个网站集和网站(webs.FullUrl 不为 null)。

我检查了虚拟机上安装的 2 个 Sharepoint 2010,它们的 Sites.FullUrl 均为空。有人可以确认 Sites.FullUrl 不应为空吗?是因为sharepoint 2010吗?

使用 powershell,我可以获得我想要的所有信息。所以,我想我也应该能够直接从数据库获取所有信息。这是正确的吗?

最佳答案

不建议您查询内容数据库。你应该把它当作一个黑匣子,as explained in this other question .

如果您需要某种方式从外部应用程序动态检索 SPSite 的 URL,您可以将该 URL 存储在列表中,然后使用列表 Web 服务调用来检索它。

关于sql-server - 为什么 SharePoint 内容数据库中的 Sites.FullUrl 为空?在哪里可以找到网站集 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12810316/

相关文章:

sql-server - 确保 SQL Server 的 Internet 安全

c# - 在MVC中调用存储过程

c# - 如何使用 SharePoint 客户端对象模型创建子文件夹

jquery - 在 SharePoint 2010 中如何使用 jQuery 为所有 <a> 标记添加目标 ="_blank"

powershell - 如何获取 CSV 中标题的值

sql - 如何排除派生列中具有空值的行?

sql-server - 将此分层表非规范化为平面表的最快/最简单的方法是什么?

c# - C# 中的共享点编程

excel - 将共享点列表与多个 Excel 文件同步

javascript - 通过 SharePoint 页面上的 VBScript 访问 ActiveX 控件