Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/04/2011, 17:53
Ylatoma
 
Fecha de Ingreso: agosto-2007
Mensajes: 12
Antigüedad: 16 años, 8 meses
Puntos: 0
Mensaje llamar auna funcion que retorna un cursor de postgresql en Java

hola a todos , espero me puedan ayudar en un inconveniente que tengo al momento de mostrar datos de uno función postgresql que retorna un cursor


la funcion creada en postgresql es la Siguiente
Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION LISTAR_MARCAS_DEMO(REFCURSOR) RETURNS REFCURSOR AS $$
  2. BEGIN
  3. OPEN $1 FOR SELECT *FROM ALMACEN.MARCA;
  4.  RETURN $1;
  5. END;$$
  6. LANGUAGE 'PLPGSQL';


y en java lo estoy llamando e la siguiente manera , me sale como mensaje que la función no existe .. o no se ha definido el parámetro 2
Código vb:
Ver original
  1. public static void main(String[] args) {
  2. boolean sw=false;
  3.       Conexion con= new Conexion();
  4.       CallableStatement cmd=null;
  5. try{
  6.    
  7.     con.getCon().setAutoCommit(false);
  8.  
  9. // Procedure call.
  10. con.getCon().setAutoCommit(false);
  11. CallableStatement proc = con.getCon().prepareCall("{ ? = call LISTAR_MARCAS_DEMO(?) }");
  12. proc.registerOutParameter(1, Types.OTHER);
  13. proc.execute();
  14. String cursorName = proc.getString(1);
  15.  
  16. proc.close();
  17. System.out.println(cursorName);
  18. //hile (results.next()) {
  19.    // System.out.println(results.getString(1));
  20. //}
  21. //results.close();
  22. //proc.close();
  23.     }
  24.    
  25. catch(SQLException ex){
  26.  System.out.println(ex);
  27. }
  28. }


Agradezco de antemano su ayuda.