我正在使用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)
这些报告需要与不希望看到错误的用户共享。有什么方法可以
答案 0 :(得分:0)
在报告中使用“NOLOCK”表格提示。
For Example:
SELECT [LastName] FROM [dbo].[AuditLog] WITH (NOLOCK)