从SSRS Report Manager为rsProcessingAborted显示自定义错误

时间:2012-12-05 12:45:19

标签: sql-server-2008-r2 ssrs-2008 reportbuilder3.0

我正在使用SQL Server 2008 R2 Reporting Services,使用Report Builder 3.0设计报表并通过报表管理器查看报表(http://host/Reports/,而不是http://host/reportserver/)。

我有大量的报告以这种方式构建和访问,从每小时刷新的数据库中读取数据。刷新过程需要几分钟,是我写的一个简单的ETL C#脚本(对于每个表)删除所有匹配的行并插入新数据(在Transaction中)。可能是我需要更改的过程的这一部分,所以我用SQL Server 2008 R2标记了这个问题。

我的问题是每当导入和SSRS报告执行同时运行时,我都会收到rsProcessingAborted错误。如果底层数据在执行时发生更改,则处理中止。我的一个报告非常复杂需要几分钟才能运行,因此我发现这个错误很多,而且通常在其他报告中根本看不到它。

An error has occurred during report processing. (rsProcessingAborted)
Cannot read the next data row for the dataset xxx. (rsErrorReadingNextDataRow)

这些报告需要与不希望看到错误的用户共享。有什么方法可以

  • 使我的导入脚本和SSRS执行“原子”,以便报告能够无论如何运行
  • 自定义报表管理器中显示的rsProcessingAborted错误,以便向用户显示“正在刷新此报表背后的数据的消息。请在5分钟后重试”。 - 仍然很烦人,但比上面的错误更好......

1 个答案:

答案 0 :(得分:0)

在报告中使用“NOLOCK”表格提示。

For Example:

SELECT [LastName] FROM [dbo].[AuditLog] WITH (NOLOCK)