Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Java (básico) > STORE PROCEDURE
-Foros de debate

Java (básico)
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

STORE PROCEDURE
Enviado por OSCAR el día 27 de febrero de 2002

COMO PUEDO LLAMAR DESDE JAVA A UN STORE PROCEDURE
DE ORACLE

 
Re: STORE PROCEDURE
Enviado por ivo_es el día 4 de marzo de 2002

Te pongo acontinuacion un ejemplo de llamada a una funcion que retorna un entero, la idea es poner el "call" con "?" donde vayan los parametros, luego poner las variables que completan esos parametros y hacer el "execute".

Si quieres llamar a un procedimiento y no a una funcion quita el "?=" de delante del "call" y no registres ningun parametro de salida.

Driver DriverNuevaPartidaVF;
Connection ConnNuevaPartidaVF;
try{

DriverNuevaPartidaVF = (Driver)Class.forName(_DRIVER).newInstance();

ConnNuevaPartidaVF = DriverManager.getConnection(_STRING,_USERNAME,_PASSWORD);
CallableStatement NuevaPartidaVF = ConnNuevaPartidaVF.prepareCall("{?= call NOMBREPROCEDIMENTO(?,?,?,?,?,?,?,?)}");

NuevaPartidaVF.registerOutParameter(1,Types.INTEGER);
NuevaPartidaVF.setString(2,login);
NuevaPartidaVF.setString(3,tipo);
NuevaPartidaVF.setString(4,descripcion);
...
NuevaPartidaVF.execute();
idPartida=NuevaPartidaVF.getInt(1);
ConnNuevaPartidaVF.close();
}catch(Exception e){
return false;
}

 
Re: Re: STORE PROCEDURE
Enviado por camaleonGDL el día 23 de julio de 2002

Aun me queda duda de como se ejecutaría el SP:
Segun la documentación de JAVA, debes hacer el "registerOutParameter(index, type)" por cada valor que regrese el SP antes del "execute". Mi SP regresa un ResultSet, entonces pongo los 11 valores que me regresa con
cs.registerOutParameter(1, Types.VARCHAR);
cs.registerOutParameter(2, Types.VARCHAR);
...
cs.registerOutParameter(10, Types.VARCHAR);
cs.registerOutParameter(11, Types.VARCHAR);


(cs es el objeto CallableStatement)
despues hago el ResultSet rs = cs.executeQuery(); pero me marca un error de "Not implemented".

Opte por ejecutar solamente el cs.execute() y despues pedir los valores con el cs.getString(index) y me marca el mismo error.

Alguna idea?

 
Re: Re: Re: STORE PROCEDURE
Enviado por pyramig el día 18 de octubre de 2004

Quizas ya no te interese (dado el tiempo que ha pasado desde el post, pero es posible que a alguna otra persona si)



CallableStatement callable=conexion.prepareCall("{call PAQUETE.PROCEDIMIENTO(?)}");
callable.registerOutParameter(1,Types.CURSOR);
callable.execute();
ResultSet rs=(ResultSet)callable.getObject(1);

 
Re: Re: Re: Re: STORE PROCEDURE
Enviado por sss el día 18 de abril de 2008

Cuando se devuelve un cursor me hs quedado claro, pero cuando quiero pasar un parametro al procedimiento y que me devuelva un cursor?? como lo puedo hacer???

 





Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network