2012-12-12 43 views
1

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

感谢

回答

1

您无法真正“处理”例外情况以获取报告中的所有数据。 你可以调整超时,但它不会让你很远。

的事情你可以做的是防止异常:

  • 为OutOfMemoryException异常:你不应该计算聚集或做大部分的计算报告的一面。大部分计算可能依赖于视图或OLAP。
  • for TimeOutException,与内存相同的答案。但你应该首先依靠查询优化(索引,查询提示)以及存储过程而不是非常复杂(长期编译)的动态查询
+0

你说得对,我简化了查询,现在它在事件中执行秒(我把数据转换部分切换到rdlc报告本身) – NDraskovic

1

你不能做System.OutOfMemory例外任何东西,除了内存添加到您的PC。要处理超时,您可以增加超时。