我正在使用 iReport 构建 jaspersoft 报告,并使用 Fishbowl 作为我的 DBMS。
我构建了我的表,在 iReport 中显示我的表是相关的,但由于某种原因它会抛出错误并且不会运行。应该很简单。我正在输入邮政编码、日期范围或州名称,并输出产品名称、履行的总量、邮政编码和州缩写。
当我将报告上传到 Fishbowl 时,它会运行,但最终崩溃并显示内存不足的错误。我不认为这是问题所在,但这是导致报告无法正确运行的原因。也许是我的加入?
这是我的 SQL
SELECT
STATECONST."CODE" AS STATECONST_CODE,
ADDRESS."STATEID" AS ADDRESS_STATEID,
ADDRESS."ZIP" AS ADDRESS_ZIP,
SOITEM."PRODUCTNUM" AS SOITEM_PRODUCTNUM,
SOITEM."QTYFULFILLED" AS SOITEM_QTYFULFILLED
FROM
"STATECONST" STATECONST INNER JOIN "ADDRESS" ADDRESS ON STATECONST."ID" = ADDRESS."STATEID"
INNER JOIN "ACCOUNT" ACCOUNT ON ADDRESS."ACCOUNTID" = ACCOUNT."ID"
INNER JOIN "CUSTOMER" CUSTOMER ON ACCOUNT."ID" = CUSTOMER."ACCOUNTID"
INNER JOIN "SO" SO ON CUSTOMER."ID" = SO."CUSTOMERID"
INNER JOIN "SOITEM" SOITEM ON SO."ID" = SOITEM."SOID"
错误是:
java.lang.OutOfMemoryError:Java堆空间
这里还有一些屏幕截图可以提供帮助。
当您内存不足时,一般操作是:
Java 堆空间内存不足 https://stackoverflow.com/questions/6748432/java-heap-space-out-of-memory
与默认生成的 jasper 报告相关内存中的整个报告,这可以改变使用JR虚拟化器 http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/JRVirtualizer.html,参见示例样本参考 http://jasperreports.sourceforge.net/sample.reference/virtualizer/
Example(来自使用文件虚拟器的示例参考)
//Create the virtualizer after 2 pages filled save in tmp director
JRFileVirtualizer virtualizer = new JRFileVirtualizer(2, "tmp");
//Preparing parameters
Map parameters = new HashMap();
parameters.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)