s-s-rS - 报告网站错误处理数据集

Posted

技术标签:

【中文标题】s-s-rS - 报告网站错误处理数据集【英文标题】:s-s-rS - Report Website Error processing Dataset 【发布时间】:2012-08-30 16:17:49 【问题描述】:

将基于 T-SQL 查询的数据集添加到报表并部署后,由于以下错误,报表停止工作。

报告处理过程中发生错误。 (rsProcessingAborted) 数据集“NewDataset”的查询执行失败。 (rsErrorExecutingCommand) 有关此错误的更多信息 导航到本地服务器计算机上的报表服务器,或启用 远程错误

数据源:Cube + SQL DB 数据集:Cube + SQL DB

报表上的表格:大多数列从 Cube DB 填充。增加了一列连接的 T-SQL DB。

在添加 T-SQL 数据集之前,报告在网站上完美显示。 s-s-rS 预览报告完美。

报表使用连接到 SQL 共享数据源的共享数据集。

【问题讨论】:

通常,t-sql 数据集在部署时会因为安全问题而失败。确保运行 s-s-rS 报告的帐户对 t-sql 数据集中的所有 db 对象具有适当的安全性。 请问如何检查? 首先,确定报表如何连接到SQL数据。如果它使用共享数据源,请在报表管理器中查找数据源。单击位于数据源右侧的向下箭头,然后选择“管理”。在属性中,您可以确定用于连接 SQL 的帐户。 在 SQL 数据库上,确保用于数据源的帐户具有访问查询中使用的数据库对象(可能是查询中引用的表,或者存储过程,取决于您的数据集的来源)。 嵌入式数据集连接到连接到 SQL 共享数据源的共享数据集。在 Report Manager/Datasource/SQLDatasource/Security/ 上,我有“凭据安全地存储在报表服务器中”以及用户名和密码。我右键单击该 sql 数据库并在属性/权限下,我在列表中看到了该用户名。我错过了什么? 【参考方案1】:

通常,由于安全问题,数据集查询在部署时会失败。确保运行 s-s-rS 报告的帐户对数据集查询中使用的所有 db 对象具有适当的安全性。

在报表管理器中查找数据源。单击位于数据源右侧的向下箭头,然后选择“管理”。在属性中,您可以确定用于连接 SQL 的帐户。

在 SQL 数据库上,确保用于数据源的帐户具有访问查询中使用的数据库对象(可能是查询中引用的表或存储过程,具体取决于源你的数据集是)。

尝试使用与数据源相同的帐户连接到 SSMS,然后运行相同的查询。您在此过程中遇到的错误将有助于确定需要安全权限的位置。

【讨论】:

【参考方案2】:

在我的情况下,同样的错误消息,问题的根源不是从安全角度来看,而是从与报告相关的数据库视图。我是这样发现的:

    从报表生成器运行相同的报表:在报表管理器中,单击产生错误的报表。根据您的报告,您可能需要提供其他参数,然后点击查看报告 您现在应该会看到相同的错误消息。消息内容与第一句相同;但它的第二句话将更详细地显示错误的原因。在我的情况下,我有一个查询表中不存在的列(因为我删除了)的视图。当我更新视图时,它会再次与报告一起使用。

【讨论】:

以上是关于s-s-rS - 报告网站错误处理数据集的主要内容,如果未能解决你的问题,请参考以下文章

为啥在 s-s-rS 2008 中出现“报告处理中发生意外错误”?

针对 SQL Server 使用 s-s-rS 报告时出错

ora-00939 报告服务中的错误,s-s-rS

在报告服务器中运行报告时出现 s-s-rS 错误

s-s-rS Visual Studio 2015 限制

使用 WITH XMLNAMESPACES 的 s-s-rS 查询不返回数据集