本文介绍了给出HTTP 401“未授权"的SharePoint列表数据源;错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我建立了一个使用SharePoint列表作为其数据源的报告.数据源设置为在SSRS中使用Windows身份验证(集成安全性).它可以在SSRS/BIDS中正常运行,但是当部署到报表管理器环境时,我会收到错误消息:

I have built a report that uses a SharePoint list as its data source. The data source is set to use Windows Authentication (integrated security) in SSRS. It runs just fine in SSRS/BIDS, but when deployed to the Report Manager environment, I receive an error:

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

Query execution failed for dataset 'ListData'. (rsErrorExecutingCommand)

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

An error occurred when accessing the specified SharePoint list. The connection string might not be valid. Verify that the connection string is correct. (rsSPDataProviderError)

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

The request failed with HTTP status 401: Unauthorized.

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

I have deployed both the report object and the data source to the environment from BIDS. I checked the Properties to confirm that integrated security was set on the Report Manager end as well, so I am not sure as to why it's not passing the credentials properly to the source.

有什么想法/建议吗?

Any ideas/suggestions?

推荐答案

SSRS的服务帐户将无济于事.最好有一个特定的服务帐户来运行SSRS服务,但这不是用来进行身份验证的.最好使用Reporting Services配置工具在服务器上设置执行帐户,该工具可帮助运行无人值守的报告,但这又不是您的问题.

The service account for SSRS will not help you. It is good to have a specific service account to run the SSRS service, but that is not what gets used to authenticate. It is also good to set up an execution account on the server using the reporting services configuration tool which helps with running unattended reports, but again that's not your issue.

Kerberos是一种选择,是的,但是如果您还没有使用它,那么在解决一个小问题上会付出很大的努力.

Kerberos is one option, yes, but if you aren't using it already it's a big effort for a small issue.

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

Sharepoint list datasource will only accept integrated security connections, so what you need to do in the datasource is to store a windows user as credentials in the report server.

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

I usually create a user called Reportuser (e.g. reportuser@[domain].com). Create this user on your domain, make sure it has access to SharePoint.

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

In BIDS/visual studio in the properties for the datasource for your report, under the credentials tab, click the radio button next to "Use Windows Authentication (integrated security)".Upload the datasource to the report manager website. ( You've done this part).

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

Navigate to the Report manager website, and the properties of the uploaded datasource.

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

Under the section starting with "Connect using":

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

Check the "Credentials stored securely in the report server" option

输入用户名和密码,如下所示(其中,域被替换为您的网络域):[email protected]密码

Enter the username and password like this (where domain is replaced with the domain of your network):[email protected]

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

Important part: Tick the "Use as Windows credentials when connecting to the data source"

测试连接并可以正常工作-我刚刚测试了它.

Test the connection and will work - I have just tested it.

这篇关于给出HTTP 401“未授权"的SharePoint列表数据源;错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 19:38