如何在RDLC报告中管理System.OutOfMemory和SQL超时异常

时间:2012-12-12 09:41:59

标签: c# exception-handling rdlc

我创建了一个基于SQL数据库生成报告的应用程序。该应用程序适用于具有较少条目数的报表,但在某些情况下,我会收到OutOfMemory异常或数据库超时异常。我的问题是如何管理这些异常,以便将所有数据正确写入报告? 我在我的应用程序中使用C#(在VS 2010中)和RDLC报告。

由于

2 个答案:

答案 0 :(得分:1)

除了向PC添加内存外,您无法对System.OutOfMemory异常执行任何操作。要使用超时,可以增加超时。

答案 1 :(得分:1)

您无法真正“处理”异常以获取报告中的所有数据。 你可以调整超时但它不会让你走得很远。

你能做的就是防止例外:

  • for OutOfMemoryException:您不应计算聚合或执行大部分计算报告。您可以依赖视图或OLAP来进行计算的最大部分。
  • 表示TimeOutException,答案与内存相同。但是你应该首先依赖查询优化(索引,查询提示),以及存储过程而不是非常复杂(长期编译)的动态查询