Re: Consulta - Java y Postgres

From: NachXs <nachxs(at)gmail(dot)com>
To: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
Cc: bl_mikax(at)yahoo(dot)es, PostgreSQL Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Consulta - Java y Postgres
Date: 2009-05-15 15:48:11
Message-ID: 4A0D8EBB.6070603@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Emanuel, gracias por contestar, bueno con respecto a la sintaxis he
probado con "call" y tambien funciona, o en definitiva no es lo correcto??.

Saludos.

Emanuel Calvo Franco escribió:
> El día 15 de mayo de 2009 0:52, Brando <bl_mikax(at)yahoo(dot)es> escribió:
>
>> Hola Señores, otra vez por aquí necesitando de su apoyo. Bueno les
>> comento:
>> Estoy desarrollando un pequeño aplicativo web con JSP, el cual consiste
>> en llevar el control de unos informes hechos en auditoria; para esto
>> registrare todos los datos requeridos y ademas por requerimiento deberia
>> tener la opcion de guardar archivos si fuera necesario. En primera
>> instancie pense en guardar estos archivos en base de datos ya que estos
>> no excederian los 2 Mb. Entonces para esto cree una clase que es donde
>> llamo a una funcion de postgres la cual detallo a continuacion:
>>
>> public String uploadFileInforme(String num_informe, InputStream file,
>> size_file) throws Exception
>> {
>> String mensaje = null;
>> Connection con = null;
>> CallableStatement cs = null;
>> try{
>> con = BD.conectar();
>> con.setAutoCommit(false);
>> String query = "{? = call
>> auditoria.inserta_file_informe(?,?,?)}";
>>
>
> String query = "{? = call
> auditoria.inserta_file_informe(?,?,?)}";
> cs = con.prepareCall(query);
>
> Las funciones en postgres se llaman asi:
> select auditoria.inserta_file_informe(?,?,?)
>
>
>
>> cs = con.prepareCall(query);
>> cs.registerOutParameter(1, java.sql.Types.VARCHAR);
>> cs.setString(2,num_informe.toUpperCase());
>> cs.setBinaryStream(3,file,size_file);
>> cs.execute();
>> mensaje = cs.getString(1);
>> if(mensaje.equals("OK")){
>> con.commit();
>> con.setAutoCommit(true);
>> }
>> }catch(Exception ex){
>> mensaje = ex.getMessage();
>> }finally{
>> try{
>> if (cs != null) cs.close();
>> if (con != null) con.close();
>> }catch(SQLException esql){
>> mensaje = esql.getMessage();
>> }
>> }
>> return mensaje;
>> }
>>
>> y luego la funcion escrita en plpgsql seria:
>>
>>
>
>
>> El problema que tengo es que cuando ejecuto este método el servidor
>> donde tengo la base de datos se me cuelga, no se si es por el método de
>> java o por la función postgres. El tipo de dato del atributo de la tabla
>> en donde voy ha guardar el archivo es "bytea" que es lo que me
>> recomendaron para este tipo de operaciones.
>>
>> He estado intentando de diferentes forma hacer esto pero no he
>> encontrado la solución, alguno de Ud. tal vez haya trabajado de esta
>> forma y me pueda dar alguna sugerencia.
>>
>> Adicionalmente les comento que el servidor postgres lo tengo en una PC
>> dentro de mi LAN y accedo a traves de una IP de forma remota.
>>
>> De antemano agradezco la atención prestada.
>>
>> Saludos.
>>
>>
>
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Ferro 2009-05-15 16:05:25 ejecucion de postgres
Previous Message Alvaro Herrera 2009-05-15 15:29:54 Re: Saludos y primera pregunta