28

刚刚将我的项目部署到我的报告服务器上。

我有多个数据集引用该服务器上数据库中存在的视图。

当我尝试进入任何报告部分时,我收到以下消息:

An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for dataset 'dataset1'. (rsErrorExecutingCommand)
For more information about this error navigate to the report server on the local server machine, or enable remote errors 

任何人都可以帮忙吗?

4

18 回答 18

12

我启用了远程错误以查明问题。

我发现特定数据集中的一列(我的一个视图)正在引发错误。

因此,使用“SQL Delta”工具,我将数据库的开发版本与报告服务器上的实时版本进行了比较。我注意到其中一个视图在开发服务器上有一个额外的列,它不在数据库的实时版本上。

SQL Delta 生成了我需要运行的脚本来更新我的实时数据库上的视图。

我运行了这个脚本,重新运行了报告,一切正常。

于 2012-06-01T10:18:19.903 回答
9

我遇到了类似的错误消息。我能够在不启用远程错误的情况下修复它。

在 Report Builder 3.0 中,当我使用Run按钮运行报表时,出现错误警报,说

An error has occurred during report processing. (rsProcessingAborted)
[OK] [Details...]

按详细信息按钮给了我一个文本框,我在其中看到了以下文本:

For more information about this error navigate to the report server
on the local server machine, or enable remote errors
----------------------------
Query execution failed for dataset 'DataSet1'. (rsErrorExecutingCommand)

我感到困惑和沮丧,因为我的报告没有名为“ DataSet1”的数据集。.rdl可以肯定的是,我什至在文本编辑器中打开了文件。过了一会儿,我注意到在我可以阅读的下方的文本框中有更多的文本。完整的错误信息是:

For more information about this error navigate to the report server
on the local server machine, or enable remote errors
----------------------------
Query execution failed for dataset 'DataSet1'. (rsErrorExecutingCommand)

----------------------------
The execution failed for the shared data set 'CustomerDetailsDataSet'.  
(rsDataSetExecutionError)
----------------------------
An error has occurred during report processing. (rsProcessingAborted)

确实有一个名为“ CustomerDetailsDataSet”的共享数据集。我在 SQL Server Management Studio 中打开了查询(这是一个以文本模式输入的完整 SQL 查询),并在那里运行它。我收到错误消息,清楚地指向某个表,我一直在使用的列已被重命名和更改。

从那时起,修改我的查询以使其与新列一起使用,然后将该修改粘贴到共享数据集“ CustomerDetailsDataSet”中,然后轻推报表生成器中的报表以识别对共享数据集的更改,这很简单。

在此修复后,我的报告不再触发此错误。

于 2013-01-21T11:05:49.860 回答
5

我遇到了同样的问题,它与未授予部分表的安全性有关。查看您的用户有权访问报告使用的数据库/表/视图/函数等。

于 2014-06-06T13:12:06.607 回答
4

我刚刚处理了同样的问题。确保您的查询列出完整的源名称,不使用快捷方式。Visual Studio 可以识别快捷方式,但您的 Reporting Services 应用程序可能无法识别您的数据应该来自哪些表。希望有帮助。

于 2013-04-26T18:00:52.430 回答
4

像这里的许多其他人一样,我有同样的错误。在我的情况下,这是因为它使用的存储过程的执行权限被拒绝。当与数据源关联的用户被授予该权限时,该问题已得到解决。

于 2014-07-02T15:57:21.563 回答
4

我的解决方案来自GShenanigan

您需要查看 SSRS 服务器上的日志文件以获取更多详细信息。它们将位于以下位置:“C:\Program Files (x86)\Microsoft SQL Server\MSRS10_50.DEV\Reporting Services\LogFiles\”

我能够在视图引用的数据库表上找到与视图所在位置不同的权限问题。我一直专注于视图数据库的权限,因此这有助于查明错误所在。

于 2015-11-27T17:27:19.050 回答
4

我有类似的问题显示错误

有关此错误的详细信息,请导航到本地服务器计算机上的报表服务器,或启用远程错误数据集“PrintInvoice”的查询执行失败。

解决方案:1)在某些情况下,错误可能与数据集有关,您始终可以通过转到数据集属性并选择“查询设计器”并尝试“运行”来检查数据集是否填充了您期望的确切数据,如果您可以成功地提取您期望的字段,那么您可以确定数据集没有任何问题,这将我们带到下一个解决方案。

2)即使错误消息显示“查询数据集执行失败”,另一个可能的机会是数据源连接,请确保您已连接到具有所需表的正确数据源并且您有权访问该数据源。

于 2015-09-18T18:52:20.383 回答
3

非常感谢我找到了这个很棒的帖子。至于我的情况,执行存储过程的用户没有EXECUTE权限。EXECUTE解决方案是通过将以下代码添加到存储过程的末尾来为存储过程中的用户授予权限。

GRANT EXECUTE ON dbo.StoredProcNameHere TO UsernameRunningreports
GO
于 2015-12-11T17:24:02.330 回答
3

在我的情况下,我为数据集创建了一个新的 SSRS 报告和新的存储过程。我忘记将存储过程添加到有权执行它的数据库角色中。一旦我使用 EXECUTE 将权限添加到 SQL 数据库角色,一切都很好!

用户遇到的错误消息是“客户端呈现期间发生错误。报表处理期间发生错误 (rsProcessingAborted)。数据集“DataSet1”的查询执行失败。(rsErrorExecutingCommand) 更多信息..."

于 2015-11-05T19:46:00.743 回答
2

BIGHAP:解决此问题的简单方法。

在将 SharePoint 列表用作数据源时,我遇到了同样的问题,并阅读了上面非常有帮助的博客。我在 Visual Studio 中对 DataSource 和 Data 对象名称和查询字段进行了更改,并且查询在 Visual Studio 中工作。我能够将报告部署到 SharePoint,但是当我尝试打开它时,我收到了同样的错误。

我猜想问题是我需要将 DataSource 和 DataSet 都重新部署到 SharePoint,以便渲染工具中的更改全部同步。

我将 DataSource、DataSet 和 Report 重新部署到 sharePoint 并且它工作。正如其中一篇博客所述,虽然 Visual Studio 允许我在数据集和数据源中所做的更改,但如果您没有将 Visual Studio 设置为在部署报表时自动重新部署数据源和数据集(这可能很危险,因为这可能会影响其他报告共享这些对象)可能会发生此错误。

所以,当然解决方法是在这种情况下,您必须重新部署数据源、数据集和报告来解决问题。

于 2015-02-07T19:29:59.830 回答
2

我也有一个非常相似的问题,有一个非常相似的错误消息。我的问题是无法连接到数据库。在我们的例子中,我们有镜像数据库并且连接字符串没有指定故障转移伙伴。所以当数据库无法连接时,它永远不会去镜像并抛出这个错误。一旦我在我的数据源的连接字符串中指定了故障转移伙伴,它就解决了这个问题。

于 2013-10-01T14:33:45.757 回答
2

使用 SSRS、Report Builder 3.0、MSSQL 2008 和对 Oracle 11G 数据库的查询,我发现 oracle 存储过程运行良好,产生了一致的结果,没有错误。当我尝试将数据导入 SSRS 时,我收到了 OP 查询中列出的错误。我发现只有在删除参数时才会加载和显示数据(不是一个好主意)。在进一步检查中,我发现在数据集属性>参数下,我已将开始日期设置为参数名称 P_Start,将参数值设置为 @P_Start。

将 Parameter 值添加为 [@P_Start] 解决了问题,并且数据加载良好,参数到位。

于 2017-01-19T17:04:02.700 回答
2

我遇到了同样的错误,但这有效并解决了我的问题

如果报告已连接到分析服务器,则在您的分析服务器模型中向用户(访问报告服务器以查看报告)授予所需的权限。为此,在模型或多维数据集的角色中添加用户并将 模型部署到您的分析服务器。

于 2016-07-29T06:52:12.350 回答
2

此问题是由孤立的 SQL 登录引起的。我运行了我最喜欢的 sp_fixusers 脚本并解决了错误。上面查看日志的建议是一个很好的建议……它让我得到了答案。

于 2017-01-31T20:25:55.210 回答
2

我也面临同样的问题 - 我检查了下面的事情来解决这个问题,

  • 如果您最近更改了数据源中的指向数据库名称,
    则首先检查该报告的所有存储过程是否存在于更改的数据库中。

  • 如果主报告上有多个子报告,请确保每个报告单独运行良好。

  • 还要检查安全面板 - 用户必须有权访问该报告的数据库/表/视图/函数。

有时,我们还需要检查dataset1——存储过程。好像您正在尝试显示报告,user1并且如果此用户没有access(rights)提供的(dataset1 database)数据库,那么它将引发与上述相同的错误,因此必须检查用户是否有权访问dbreaderSQL Server。

此外,如果该存储过程包含其他一些数据库(Database2),例如

Select * from XYZ inner join Database2..Table1 on ... where...

那么用户也必须具有该数据库的访问权限。

注意:您可以检查此路径上的日志文件以获取更多详细信息,

C:\Program Files\Microsoft SQL Server\MSRS11.SQLEXPRESS\Reporting Services
于 2015-11-23T07:03:58.680 回答
2

这可能是您的视图或存储过程的权限问题

于 2018-08-09T06:55:27.897 回答
0

从选择查询中删除所有评论为我解决了这个问题。我的数据集在预览版中工作,但是当我进入设计/查询设计器并在那里尝试查询时,我得到了 ORA-01006;绑定变量不存在。从选择中删除所有评论后,它起作用了。

于 2021-12-14T15:25:09.660 回答
0

除了上述答案之外,还可能是由于缺少SQL 存储过程SQL 函数。例如,这可能是由于函数没有从非产品区域迁移到生产(产品)区域。

于 2019-02-04T17:33:46.633 回答