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