Wiki Markup |
---|
{scrollbar} |
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 los 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 , para versiones posteriores ver más adelante.
Debe considerarse que esta solución nos permitirá extraer la información deseada, y bajará notablemente la performance de extracción y por lo tanto aumenta los tiempos de construcción de cubo.
Procedimiento para versión 5.4.022
- 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.
Note | ||
---|---|---|
| ||
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
Procedimiento para versiones superiores a la 5.4.022
- Se debe activar la property o3.jdbc.mysql.rowbyrow=true en el archivo O3Builder.properties u O3Designer.properties