Cómo aceptar el cursor REF en JAVA sin importar el paquete Oracle
Pregunta
Estoy escribiendo un programa JAVA usando JDBC para la conectividad de la base de datos, estoy llamando a un procedimiento almacenado que devuelve el CURSOR DE REF DE ORACLE. ¿Hay alguna manera de poder manejar eso sin importar PAQUETES ORACLE?
Solución
Creo que intenté hacer esto hace un tiempo y me di por vencido (supongo que podrías averiguar qué valor int es OracleTypes.REF_CURSOR y luego usar ese valor int, pero eso es un truco).Si tiene paciencia, puede definir un tipo de registro (u objeto) y definir el cursor como un cursor con tipo, ya que se puede convertir usando la tabla a un valor que se puede seleccionar como las tablas normales, es decir.
select * from table( sp_returning( ? ) )
Hice una búsqueda rápida en Google sobre el cursor de referencia y jdbc y parece que podría ser una extensión de Oracle que explicaría por qué no existe una forma estándar de acceder a los datos.
Otros consejos
Haciendo
select * from table( sp_returning( ? ) )
es más lento que devolver un cursor de referencia.
Puedo usar un cursor de referencia en combinación con C#, ¿por qué no puedes hacerlo con Java?Estoy seguro de que hay muchos ejemplos.