La Web del Programador: Comunidad de Programadores
 
    Pregunta:  64259 - EL CURSOR DE REFERENCIA NO ES VÁLIDO
Autor:  David Modino
java.sql.SQLException: El cursor de referencia no es válido.

Estoy probando a devolver un cursor en un prodedimiento almacenado, pero no me visualiza el objeto de tipo cursor, el resto de parametros q le paso si me los visualiza.

String sql = "{call HR.HR_ACCESS.HP7002(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}";
cs = con.prepareCall(sql);
//Cargo todos los parametros....
cs.registerOutParameter(31, OracleTypes.CURSOR); //TELEFONOS
cs.execute();
rs= (ResultSet)cs.getObject(44); //-> Aqui peta!!

Gracias por adelantado.

  Respuesta:  Arcesio Arias
Si el cursor de salida esta en la columna 44 entonces debe registarlo asi
cs.registerOutParameter(44, OracleTypes.CURSOR); //TELEFONOS