简体   繁体   English

Birt:内存不足,无法执行报告

[英]Birt: Insufficient memory to execute a report

I'm using Birt 4.4.0 and calling a Java class to run the reports. 我正在使用Birt 4.4.0并调用Java类来运行报告。 The sql statement returns not more than 100 lines but I'm getting There is insufficient memory to execute this report error. sql语句返回的行数不超过100行,但我得到的内存不足,无法执行此报告错误。

org.eclipse.birt.report.engine.api.impl.EngineTask handleFatalExceptions
SEVERE: There is insufficient memory to execute this report.

I tried to increase the both heap space and permGen memory on catalina.bat file by -Xms1024m -Xmx4096m -XX:MaxPermSize=512m but no luck. 我试图通过-Xms1024m -Xmx4096m -XX:MaxPermSize = 512m增加catalina.bat文件上的堆空间和permGen内存,但是没有运气。

Any ideas? 有任何想法吗?

Hmm, while writing the comment I remembered that last year I had a similar problem: Even the most simple queries caused memory problems. 嗯,在写评论时,我记得去年我遇到了一个类似的问题:即使最简单的查询也导致了内存问题。

Note: This answer is only valid if your application is using an Oracle DB. 注意:仅当您的应用程序使用Oracle DB时,此答案才有效。

In my case, my application (and the Eclipse BIRT IDE) was using Java 7. 就我而言,我的应用程序(和Eclipse BIRT IDE)使用的是Java 7。

If you are using Java 7, you should use the latest ojdbc7.jar from Oracle ( not ojdbc6.jar ). 如果使用的是Java 7,则应使用Oracle的最新ojdbc7.jar而不是 ojdbc6.jar )。 I finally found this out after several hours of struggling around with BIRT while my clients were watching. 我的客户在观看BIRT数小时后,终于找到了答案。

Also note https://bugs.eclipse.org/bugs/show_bug.cgi?id=407299 , which you might hit depending on your query. 还要注意https://bugs.eclipse.org/bugs/show_bug.cgi?id=407299 ,您可能会根据自己的查询命中它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM