生成大型RS报告时出现奇怪的DataRowView错误

时间:2009-03-04 08:38:13

标签: sql-server sql-server-2005 reporting-services datarowview

我有一个基于DotNetNuke构建的ASP.NET应用程序,在我的大学用于学生管理。

任何时候,当生成一些长时间运行的报告时,应用程序会抛出这样的错误:

  

DataBinding:'System.Data.DataRowView'不包含属性   名称为XXXX

XXX可能不同。

我必须强调所有这些属性(似乎找不到)存在并且它们由存储过程生成(在Sql Management studio中查询时) 。 95%的代码工作时间,但在生成报告时,它停止工作......

重新编译或应用程序重启后,一切似乎都正常工作(直到我再次生成一些报告)。

DotNetNuke站点可能会一直成功访问,而我的模块会抛出先前的异常。所有抛出错误的模块都是使用SqlServerDataSource构建的。我已经指定了e.Command.CommandTimeout = 60;但是......没有运气。 我们的应用程序使用ObjectDataSourceSqlDataSource和代码隐藏数据绑定。这些错误似乎只出现在使用SqlDataSource的页面中,而不会出现在使用ObjectDataSource或代码隐藏数据绑定的页面中。

为了在机器上解决这个“神秘”,我们创建了另一个实例,我们移动了用于密集和大型报告的表(如数据仓库)。对于此实例,我们还安装了Reporting Services。

因此,使用了SQL 2005:

  • 实例1:主要生产数据库+ Reporting Services实例1 简单报告
  • 实例2:用于报告活动的数据库+报告 用于大型报告的服务实例2

我们还使用1222标志检查了死锁,但是当错误开始发生时,两个实例的日志中都没有死锁(实际上没有错误或警告)。

此外,主应用程序和两个报告服务实例都有单独的应用程序池。

服务器规格:

  • 操作系统:Windows 2003 R2,64位
  • SQL Server 2005 Standard,64位
  • 8 GB RAM
  • Intel Xeon E 5345 2.33 Ghz(2个四核)

1 个答案:

答案 0 :(得分:0)

使用SQL事件探查器监视SQL Server中的错误。这将告诉您SQL Server是愚蠢的还是Web服务器端的问题。