22

我正在将报告集成到浏览器中,但出现此错误:

An error has occurred during report processing. (rsProcessingAborted)
Cannot create a connection to data source 'dsFederatedSample_SurveyLevel_STG'. (rsErrorOpeningConnection)
For more information about this error navigate to the report server on the local server machine, or enable remote errors

在此处输入图像描述

这与 SQL 与 Windows 身份验证有关吗?

4

10 回答 10

18

我会尝试的第一件事是获取有关错误的更多信息 - 这是一个非常通用的消息。

您可以根据错误消息启用远程错误并复制错误以获取更多信息:

启用远程错误

或者检查报告服务器错误日志以查看记录的错误。

%programfiles%\Microsoft SQL Server\<SQL Server Instance>\Reporting Services\LogFiles\

下一步是以数据源用户身份连接到数据库,使用运行报表时使用的相同参数运行报表正在使用的任何代码/存储过程,并查看是否发生任何错误。

于 2013-01-29T18:41:51.107 回答
5

在 SQL Server 2008 中,除了上述两个选项之外,您还有第三个选项可以通过 SQL Server Management Studio 进行此设置。

1.启动 Management Studio 并连接到报表服务器实例(确保选择“报表服务”服务器类型)。

2.右键单击ReportServer并选择属性

3.点击高级

4.在 EnableRemoteErrors 中,选择 True。

5.单击确定。

于 2016-03-30T12:19:34.560 回答
4

我在 Windows 8.1、SQL Server 2014 开发人员版和 Visual Studio 2013 Pro 上遇到了同样的问题“无法创建与数据源的连接......用户登录失败......”。上面其他 Stackoverflow 社区成员提供的所有解决方案都不适合我。

所以,我做了接下来的步骤(以管理员身份运行所有 Windows 应用程序):

  1. VS2013 SSRS:我在右窗格“解决方案资源管理器”中使用 Windows 身份验证(集成安全)将我的数据源转换为共享数据源 (.rds)。

  2. 原始(非共享)数据源(在左侧窗格“报告数据”中)获得“不使用凭据”。

  3. 在项目属性上,我将“部署”“覆盖数据源”设置为“真”并重新部署项目。

在此处输入图像描述

之后,我可以运行我的报告,而无需进一步要求输入凭据。所有共享数据源都部署在单独的目录“数据源”中。

在此处输入图像描述

在此处输入图像描述

于 2017-01-20T07:50:41.867 回答
4

在我的情况下,这是由于在本地开发报告时在我的数据源中使用了集成 Windows 身份验证,但是一旦他们将其提交给报告管理器,身份验证就被破坏了,因为该站点没有正确传递我的凭据。

  • 简单的解决方法是将用户名/密码硬编码到您的数据源中。
  • 更难的解决方法是通过报表管理器正确模拟/委托您的 Windows 凭据到底层数据源。
于 2018-01-19T20:11:07.680 回答
2

问题是因为您的数据源设置不正确,为此请验证您的数据源连接,为此首先导航到报表服务配置管理器

点击开始 -> 全部开始 -> Microsoft SQL Server -> 配置工具 -> “报表服务配置管理器”</p>

打开报表管理器 URL,然后导航到数据源文件夹,如下图所示

然后创建一个数据源或通过右键单击您的数据库源并选择“管理”来配置已经存在的数据源,如下所示

现在在属性选项卡的左侧菜单中,使用您的连接字符串以及用户名和密码填写数据源,然后单击测试连接,如果连接成功,则单击“应用”

在这种情况下,导航到包含您的报告的文件夹“SurveyLevelReport”

最后将您的报告设置为您之前设置的数据源,然后单击应用

于 2015-06-12T20:58:55.410 回答
2

如果在存储过程中使用空值,则需要将参数设置为接受空值。这对我有用。

于 2016-03-01T11:20:15.253 回答
2

在我的情况下,我在一份报告中向 DB 和 Analysis Services Cube 提供了许多不同的数据集。看起来数据集相互阻塞并产生了这样的错误。对我来说,CUBE 数据源属性中的选项“在处理查询时使用单个事务”

于 2016-07-20T11:32:28.043 回答
2

我遇到了类似的问题,作为新手,我花了一段时间才弄清楚,但我了解到用户必须在 SSMS 中登录。我使用以下参数创建了登录:

  • 在服务器角色下 - 检查系统管理员
  • 在用户映射下 - 我选择了数据库和报表服务器。对于我检查的每个数据读取器和数据写入器
  • 在 Securables 下 - 我检查了任何允许用户连接到数据库并查看任何内容的内容
  • 我还发现现有登录之一已检查了denydatareader 和denydatawriter。一旦我删除了这些,它就起作用了。

我并不是说这是最好的方法,只是对我有用。希望这可以帮助

于 2018-05-24T13:05:39.830 回答
1

更多信息将很有用。

当我遇到相同的错误消息时,我所要做的就是正确配置 DataSource 的凭据页面(我使用的是 Report Builder 3)。如果您选择默认值,报表将在报表生成器中正常工作,但在报表服务器上会失败。

您可以在此处查看此修复程序的更多详细信息: https ://hodentekmsss.blogspot.com/2017/05/fix-for-rserroropeningconnection-in.html

于 2017-05-13T00:57:58.213 回答
0

我有完全相同的问题。原因可能不同,但在我的情况下,在尝试了几种不同的方法(例如更改数据源设置上的连接字符串)后,我发现这是臭名昭著的“双跳”问题(更多信息在这里)。

为了解决这个问题,可以使用以下两个选项(根据超链接的响应之一):

  1.   Change the Report Server service to run under a domain user account, and register a SPN for the account.
    
  2.   Map Built-in accounts HTTP SPN to a Host SPN.
    

使用选项 1,您需要选择“Windows”凭据而不是数据库凭据,以克服身份验证时发生的双跳。

Windows 凭据

于 2020-07-29T13:02:23.987 回答