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

Birt: Insufficient memory to execute a report

我正在使用 Birt 4.4.0 并调用 Java class 到 运行 报告。 sql 语句 returns 不超过 100 行,但我收到 没有足够的内存来执行此报告 错误。

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

我尝试通过 -Xms1024m -Xmx4096m -XX:MaxPermSize=512m 增加 catalina.bat 文件上的堆 space 和 permGen 内存,但没有成功。

有什么想法吗?

嗯,写评论的时候想起去年我遇到过类似的问题:即使是最简单的查询也会导致内存问题。

注意:此答案仅在您的应用程序使用 Oracle 数据库时有效。

就我而言,我的应用程序(和 Eclipse BIRT IDE)使用的是 Java 7.

如果您使用的是 Java 7,则应使用 Oracle 的最新 ojdbc7.jar而非 ojdbc6.jar)。 在我的客户注视下,我在 BIRT 上苦苦挣扎了几个小时后,我终于发现了这一点。

另请注意 https://bugs.eclipse.org/bugs/show_bug.cgi?id=407299,您可能会根据查询点击它。