Al ejecutar una consulta con el driver jdbc de MySQL el comportamiento normal es que devuelve la información luego de terminada la consulta a la BD.
En el caso de extraer una gran cantidad de información se podrá llegar al límite de la memoria virtual asignada al proceso y devolvernos un Java Heap Memory.
La solución a este inconveniente es solicitarle al driver que no cargue los datos en memoria y lo devuelva.
Esta solución está en devolvernos los datos de a uno (row by row) y aplicable para la versión de O3 BI 5.4.022
Procedimiento
- Se debe copiar el _o3p-HD-4582.jar a la carpeta classes de la instalación.
- Adicionalmente se debe activar la property o3.jdbc.mysql.rowbyrow=true en el archivo O3Builder.properties u O3Designer.properties, segun corresponda.
Notificación
Se debe visualizar el siguiente mensaje en el log del componente actuante
MySQL Statement created to read row-by-row
Referencias: http://dev.mysql.com/doc/connector-j/en/connector-j-reference-implementation-notes.html