5

我构建了一个使用 SharePoint 列表作为其数据源的报表。数据源设置为在 SSRS 中使用 Windows 身份验证(集成安全)。它在 SSRS/BIDS 中运行得很好,但是当部署到 Report Manager 环境时,我收到一个错误:

报告处理过程中发生错误。(rsProcessingAborted)

数据集“ListData”的查询执行失败。(rsErrorExecutingCommand)

访问指定的 SharePoint 列表时出错。连接字符串可能无效。验证连接字符串是否正确。(rsSPDataProviderError)

请求失败,HTTP 状态为 401:未授权。

我已将报表对象和数据源从 BIDS 部署到环境中。我检查了属性以确认在报告管理器端也设置了集成安全性,所以我不确定为什么它没有将凭据正确传递给源。

有什么想法/建议吗?

4

3 回答 3

8

SSRS 的服务帐户对您没有帮助。最好有一个特定的服务帐户来运行 SSRS 服务,但这不是用来进行身份验证的。使用报告服务配置工具在服务器上设置执行帐户也很好,这有助于运行无人值守的报告,但这又不是您的问题。

Kerberos 是一种选择,是的,但是如果您还没有使用它,那么对于一个小问题来说这是一个很大的努力。

Sharepoint 列表数据源将仅接受集成的安全连接,因此您需要在数据源中将 Windows 用户作为凭据存储在报表服务器中。

我通常创建一个名为 Reportuser 的用户(例如 reportuser@[domain].com)。在您的域上创建此用户,确保它有权访问 SharePoint。

在报表数据源属性中的 BIDS/visual studio 中,在凭据选项卡下,单击“使用 Windows 身份验证(集成安全性)”旁边的单选按钮。将数据源上传到报表管理器网站。(你已经完成了这部分)。

导航到报告管理器网站,以及已上传数据源的属性。

在以“连接使用”开头的部分下:

选中“安全存储在报表服务器中的凭据”选项

像这样输入用户名和密码(其中域替换为您的网络域):reportuser@domain.com 密码

重要部分:勾选“连接到数据源时用作 Windows 凭据”

测试连接并将工作 - 我刚刚测试过它。

于 2013-02-24T23:31:18.753 回答
2

检查这些情况:

  1. 对数据源使用 Connect Using 部分中的第二个选项。检查附加的图像。 图片

  2. 检查您是否正确配置了所有 web.config 条目。您可以通过附加 w3wp 进程来跟踪此类错误。

于 2013-02-26T13:11:53.160 回答
0

我遇到了同样的问题,发现我使用的帐户不正确,因为 SharePoint Designer 和 Visual Studio 使用相同的凭据。当我尝试部署我的报告时,我注意到它失败了,因为它使用了没有权限的用户。该用户不是我当前登录的用户。相反,它是我上次用来登录 SharePoint Designer 的那个。一旦我使用具有我想要的报告权限的用户登录到 SharePoint Designer,然后就能够使用 Visual Studio 正确登录到 SSRS。这两个程序之间的 Windows 凭据绑定在一起。

于 2013-05-20T21:32:52.830 回答