SharePoint列表数据源给出HTTP 401"未授权"错误

dp3*_*dp3 5 sharepoint list reporting-services ssrs-2008

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

报告处理期间发生错误.(rsProcessingAborted)

数据集'ListData'的查询执行失败.(rsErrorExecutingCommand)

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

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

我已经将报告对象和数据源从BIDS部署到环境中.我检查了属性以确认在Report Manager端也设置了集成安全性,因此我不确定为什么它没有正确地将凭据传递给源.

有什么想法/建议吗?

Dav*_*vos 8

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

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

Sharepoint list datasource只接受集成的安全连接,因此您需要在数据源中执行的操作是将Windows用户存储为报表服务器中的凭据.

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

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

导航到报告管理器网站以及上载的数据源的属性.

在"使用连接"开头的部分下:

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

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

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

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