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.