I have been developing BIRT reports for an MRP system. I am using BIRT designer 4.2.2, and the Oracle 11g JDBC files.
As a simple test, I am trying to perform a listagg and pivot operation using Oracle, and reporting in BIRT. I cannot use the BIRT pivot tables, as OOTB it does not handle string agregations. My sample data is taken from the HR user/tablespace of Oracle 11g XE.
The query being used is:
Which successfully executes in Oracle SQL Developer.
But when tested in BIRT, on using Preview Results, I get a 'Java heap Space' error.
Decreasing the SQL to
Successfully previews. Removing any one of the PIVOT groups successfully executes. But with all four (or more) does not execute.
The problem seems to be that Oracle is producing very wide fields, which the JDBC connector cannot handle.
Can you please advise a suitable solution??
Thanks in advance.
As a simple test, I am trying to perform a listagg and pivot operation using Oracle, and reporting in BIRT. I cannot use the BIRT pivot tables, as OOTB it does not handle string agregations. My sample data is taken from the HR user/tablespace of Oracle 11g XE.
The query being used is:
SELECT * FROM (SELECT Departments.Manager_Id, job_id, department_name FROM Employees, Departments WHERE Employees.Department_Id = Departments.Department_Id ) pivot(listagg(job_id,', ') within GROUP ( ORDER BY job_id) FOR department_name IN ( 'Administration' AS Admin, 'Marketing' AS marketing, 'Purchasing' AS purchasing, 'Shipping' AS Shipping) )
Which successfully executes in Oracle SQL Developer.
But when tested in BIRT, on using Preview Results, I get a 'Java heap Space' error.
Decreasing the SQL to
SELECT * FROM (SELECT Departments.Manager_Id, job_id, department_name FROM Employees, Departments WHERE Employees.Department_Id = Departments.Department_Id ) pivot(listagg(job_id,', ') within GROUP ( ORDER BY job_id) FOR department_name IN ( 'Marketing' AS marketing, 'Purchasing' AS purchasing, 'Shipping' AS Shipping) )
Successfully previews. Removing any one of the PIVOT groups successfully executes. But with all four (or more) does not execute.
The problem seems to be that Oracle is producing very wide fields, which the JDBC connector cannot handle.
Can you please advise a suitable solution??
Thanks in advance.