La Web del Programador: Comunidad de Programadores
 
    Pregunta:  25279 - LLAMADAR A UN PL/SQL DESDE JAVA
Autor:  Carlos Villa
Quisiera que alguien me contara como se realiza una llamada desde java a una función el pl/sql.
Muchas gracias por la atención
Un saludo
Carlos Villa

  Respuesta:  Alvaro Puertas
te paso a continuación el código para llamar a una primitiva de pl/sql desde java. Yo estoy utilizando un pool de conexiones para acceder a la base de datos. yo te paso el método por ejemplo para acceder a un procedure que le pasas un número entero que es un identificador y te devuelve un string.

si tienes dudas mándame un mail.

public String MergeXMLLocalizador (int idConversacion) {

try{
//Establecer los parametros de la conexión
cnnConexion = pool.getConnection();
//Preparo el callableStatement para consultas parametrizadas
cstmt = cnnConexion.prepareCall("{call QUERY_AMADEUSAPI_XML.mergexmllocalizador (?,?) }");
//Inserto en cada uno de los parámetros del statement los valores recibidos por parámetros en el
//método
cstmt.setInt(1,idConversacion);
cstmt.registerOutParameter(2, Types.LONGVARCHAR);
//Ejecuto la consulta
cstmt.execute();
XMLQuery = cstmt.getString(2);
cstmt.close();
}catch(SQLException e){}
finally{
this.liberarConexion(cstmt,cnnConexion);
return XMLQuery;
}
}