stored procedimiento ejecutar desde almacenado java oracle

procedimiento - Usar el cursor de referencia de Oracle en Java sin dependencia de Oracle



spring boot call stored procedure (2)

¿Has probado java.sql.Types.OTHER ? Podría funcionar. La API dice que es para tipos específicos de la base de datos.

De acuerdo con google y algunas otras fuentes (por ej., Http://www.enterprisedt.com/publications/oracle/result_set.html ), si deseo llamar a una función almacenada que devuelve un cursor de ref, necesito escribir algo como esto para acceder al ResultSet:

String query = "begin ? := sp_get_stocks(?); end;"; CallableStatement stmt = conn.prepareCall(query); // register the type of the out param - an Oracle specific type stmt.registerOutParameter(1, OracleTypes.CURSOR); // set the in param stmt.setFloat(2, price); // execute and retrieve the result set stmt.execute(); ResultSet rs = (ResultSet)stmt.getObject(1);

¿Hay alguna forma de hacerlo sin introducir la dependencia de tiempo de compilación en Oracle? ¿Existe una alternativa genérica a OracleTypes.CURSOR?


Constant OracleTypes.CURSOR es -10. Una solución bastante fea, pero puedes escribir -10 allí o crear tu propia constante, cuyo valor es -10.