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

时间:2012-08-30 16:17:49

标签: sql-server tsql reporting-services business-intelligence

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

  

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

数据源:多维数据集+ SQL DB 数据集:多维数据集+ SQL DB

报告中的表格:大多数列都来自多维数据集数据库。添加了一个连接T-SQL DB的列。

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:0)

在我的情况下,使用相同的错误消息,问题的根目录不是来自安全性角度,而是来自与报告相关的数据库视图。以下是我的发现:

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