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