Publicado el Dejar un comentario

Tomcat 6 – java.lang.OutOfMemoryError: PermGen space

Problema:
Instalé el software Endeavour Agile ALM para un proyecto de mi trabajo y active el foro jforum. Cuando estaba configurándolo, el software dejó de reponder y el log de Tomcat me mostró el siguiente error:
java.lang.OutOfMemoryError: PermGen space

Solución:
Investigando en internet encontré este sitio donde dán una solución. La memoria de mi computadora es menor a la mostrada ahi, asi que yo puse estos valores en la variable JAVA_OPTS:
set JAVA_OPTS=”-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms768m -Xmx768m -XX:NewSize=128m -XX:MaxNewSize=128m -XX:PermSize=128m -XX:MaxPermSize=128m -XX:+DisableExplicitGC”
Hasta ahora ha funcionado bien.

Cualquier comentario es bienvenido!

Publicado el Dejar un comentario

Problemas de conexión de red en Oracle en Windows 7

Problema: Clientes java no pueden conectarse con el servicio de oracle, después de los servicios de red de oracle son reconfigurados o cambiados posteriormente a la instalación y configuración original del oracle en windows 7 o Vista.
Solución: Se debe ejecutar como administrador las utilerias de oracle que sirven para la configuración de red, si no la configuración no tendrá efecto.

Publicado el 2 comentarios

ResultSet no se hace editable en Oracle

Si la consulta que construye el ResultSet en java es del tipo:

Select * from tabla;

El ResultSet no será editable aunque se le especifique. Para lograr que sea editable es necesario especificar explícitamente los campos en la consulta y que estos formen una identificación única (primary key):

Select campo1, campo2, … from tabla;.

Ejemplo de ResultSet editable:

    try {
        // Crea la sentencia que creará un ResultSet editable
        Statement stmt = conexion.createStatement(
            ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    
        // Se especifican los campos formadores de una identificacion única del registro para que se vuelva editable
        ResultSet resultSet = stmt.executeQuery("SELECT columna1, columna2 FROM tabla");
    } catch (SQLException e) {
      ....
    }