Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/04/2011, 21:18
Avatar de dackiller
dackiller
 
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: llamar auna funcion que retorna un cursor de postgresql en Java

Hola, aunque nunca he usado refcursors en jdbc, estoy observando que lo que deseas es retornar una tabla ya existente.

Yo en tu caso no usaria refcursor sino devolver un record usando %ROWTYPE en el store procedure.

A diferencia del recursor, rowtype lo que hace es definir el tipo de record que se va devolver, es decir, que los registros corresponden exactamente igual a la tabla en cuestion, ademas de que no necesitas des-activar el auto commit.

Con respecto al error que es muy claro, es que no has definido el segundo parametro. Si no me equivoco, el segundo parametro del Call debe ser un String el cual sera el nombre devuelto por el refcursor.

Por si quedan dudas te mando el enlace del tutorial del jdbc 8.1. La diferencias entre versiones del jdbc va mas que todo hacia el uso de Composite Types que son caracteristicas nuevas de postgres por este motivo creo que no tendrias mayores problemas al usar el siguiente tutorial.

Importante, cuando devuelvas mas de 1 registro, debes usar RETURN NEXT.

Busca la documentacion de postgres %ROWTYPE, RETURN, y RECORD.

Saludos.

jdbc.postgresql.org/documentation/81/callproc.html
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.