Re: Consulta - Java y Postgres

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

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.
>

--
Emanuel Calvo Franco
Sumate al ARPUG !
( www.arpug.com.ar)
ArPUG / AOSUG Member

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-05-15 15:29:54 Re: Saludos y primera pregunta
Previous Message Silvio Quadri 2009-05-15 15:09:29 Re: [pgsql-es-ayuda] restauración desde VB6