RE: imagenes en la DB

From: "Hugo Gamarra" <hgamarra(at)hacienda(dot)gov(dot)py>
To: "'PostgreSQL'" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: imagenes en la DB
Date: 2005-05-06 19:28:02
Message-ID: 007d01c55271$b83aa3c0$ef06000a@SSET.GOV.PY
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Asi lo hago desde Java

public void setImagen(String tipImagen, int numImagen, String path,
String nomArchivo)throws SQLException {
try{
if (c==null){
throw new SQLException("Para guardar una imagen la
coneccion no puede ser nula");
}
File f = new File(path+nomArchivo);
FileInputStream s = new FileInputStream(f);
PreparedStatement p = c.prepareStatement("insert into
imagenes values(?, ?, ?, ?)");
p.setString(1, "ICO");
p.setInt(2, numImagen);
p.setString(3, f.getName());
p.setBinaryStream(4, s, (int)f.length());
p.executeUpdate();
s.close();
}
catch(Exception e){
throw new SQLException( "No se pudo guardar la imagen.\n" +
e);
}
}
public ImageIcon getImagen(String tipImagen, int numImagen)throws
SQLException {
if (c==null){
throw new SQLException("Para recuperar una imagen la
coneccion no puede ser nula.\n");
}
String q = "select imagen " +
" from imagenes " +
" where tip_imagen = ?" +
" and num_imagen = ?" ;
PreparedStatement p = null;
ResultSet r = null;
try{
p = c.prepareStatement(q);
p.setString (1, tipImagen);
p.setInt (2, numImagen);
r = p.executeQuery();
}
catch(SQLException e){
throw new SQLException( q + "\n" + e);
}
ImageIcon m = new ImageIcon();
while (r.next()){
byte[] i = null;
i = r.getBytes("imagen");
m = new ImageIcon(i);
}
r.close();
p.close();
return m;
}

en la lista tb hay un ejemplo de cómo hacerlo desde VB...

--
Saludos cordiales,
Hugo Gamarra.

> -----Mensaje original-----
> De: pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:pgsql-es-ayuda-
> owner(at)postgresql(dot)org] En nombre de Leonel Nunez Enviado el: Viernes,
> 06 de Mayo de 2005 15:59
> Para: Roberto Cesar Najera
> CC: Hugo Gamarra; pgsql-es-ayuda(at)postgresql(dot)org
> Asunto: Re: [pgsql-es-ayuda] imagenes en la DB
>
> Roberto Cesar Najera wrote:
>
> >ok... y como insertaria un archivo ?
> >
> >
> >de antemano gracias ?
> >
> >
> >----- Original Message -----
> >From: "Hugo Gamarra" <hgamarra(at)hacienda(dot)gov(dot)py>
> >To: "'Roberto Cesar Najera'" <rob(at)dcaa(dot)unam(dot)mx>
> >Cc: "'PostgreSQL'" <>
> >Sent: Friday, May 06, 2005 1:19 PM
> >Subject: RE: [pgsql-es-ayuda] imagenes en la DB
> >
> >
> >
> >
> >>Hola!
> >>Yo utilizo campos bytea para guardar imágenes hasta ahora sin
> >>problemas :-D, tb están los campos lo si no me equivoco... Puedes
> >>buscar en los archivos de la lista hay algunos comentarios sobre
> >>este tema.
> >>
> >>--
> >>Saludos cordiales,
> >>Hugo Gamarra.
> >>
> >>-----Mensaje original-----
> >>De: pgsql-es-ayuda-owner(at)postgresql(dot)org
> >>[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Roberto
> >>Cesar Najera Enviado el: Viernes, 06 de Mayo de 2005 14:51
> >>Para: pgsql-es-ayuda(at)postgresql(dot)org
> >>Asunto: [pgsql-es-ayuda] imagenes en la DB
> >>
> >>Hola lista, quisiera saber que es mejor, guardar la imagen dentro de

> >>la bd o hacer refererncia a ella (Actualmente lo tengo asi, hago
> >>referencia al archivo ) , el problema que tengo , es que cuando
> >>migro la bd, tengo que migrar tambien los archivos , si es mejor
> >>guardar la imagen en la BD, quisiera saber si no tengo problemas a
> >>la hora de replicar a otros servidores ?
> >>
> >>De antemano
> >>
> >>Gracias !
> >>
> >>
> >>
> >
> >
> >---------------------------(fin del
> >mensaje)---------------------------
> >TIP 4: No hagas 'kill -9' a postmaster
> >
> >
> >
> >
>
>
> Suponiendo usas PERL + DBD::Pg y y tu tabla se llama imagen y tu
campo
> se llama img que la imagen la leiste y la tienes en la variable $im
:
>
>
> my $sth=$dbh->prepare("insert into imagen (img ) values (?)");
>
> $sth->bind_param(1 , $im , {pg_type=> DBD::Pg::PG_BYTEA });
> $sth->execute();
>
>
> Asi de facil
> Mas facil esta dificil
>
>
>
> Leonel
>
>
> ---------------------------(fin del
> mensaje)---------------------------
> TIP 4: No hagas 'kill -9' a postmaster

--
Saludos cordiales,
Hugo Gamarra.

> -----Mensaje original-----
> De: pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:pgsql-es-ayuda-
> owner(at)postgresql(dot)org] En nombre de Leonel Nunez
> Enviado el: Viernes, 06 de Mayo de 2005 15:59
> Para: Roberto Cesar Najera
> CC: Hugo Gamarra; pgsql-es-ayuda(at)postgresql(dot)org
> Asunto: Re: [pgsql-es-ayuda] imagenes en la DB
>
> Roberto Cesar Najera wrote:
>
> >ok... y como insertaria un archivo ?
> >
> >
> >de antemano gracias ?
> >
> >
> >----- Original Message -----
> >From: "Hugo Gamarra" <hgamarra(at)hacienda(dot)gov(dot)py>
> >To: "'Roberto Cesar Najera'" <rob(at)dcaa(dot)unam(dot)mx>
> >Cc: "'PostgreSQL'" <>
> >Sent: Friday, May 06, 2005 1:19 PM
> >Subject: RE: [pgsql-es-ayuda] imagenes en la DB
> >
> >
> >
> >
> >>Hola!
> >>Yo utilizo campos bytea para guardar imágenes hasta ahora sin
problemas
> >>:-D, tb están los campos lo si no me equivoco...
> >>Puedes buscar en los archivos de la lista hay algunos comentarios
sobre
> >>este tema.
> >>
> >>--
> >>Saludos cordiales,
> >>Hugo Gamarra.
> >>
> >>-----Mensaje original-----
> >>De: pgsql-es-ayuda-owner(at)postgresql(dot)org
> >>[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Roberto
Cesar
> >>Najera
> >>Enviado el: Viernes, 06 de Mayo de 2005 14:51
> >>Para: pgsql-es-ayuda(at)postgresql(dot)org
> >>Asunto: [pgsql-es-ayuda] imagenes en la DB
> >>
> >>Hola lista, quisiera saber que es mejor, guardar la imagen dentro de
la
> >>bd o hacer refererncia a ella (Actualmente lo tengo asi, hago
referencia
> >>al archivo ) , el problema que tengo , es que cuando migro la bd,
tengo
> >>que migrar tambien los archivos , si es mejor guardar la imagen en
la
> >>BD, quisiera saber si no tengo problemas a la hora de replicar a
otros
> >>servidores ?
> >>
> >>De antemano
> >>
> >>Gracias !
> >>
> >>
> >>
> >
> >
> >---------------------------(fin del
mensaje)---------------------------
> >TIP 4: No hagas 'kill -9' a postmaster
> >
> >
> >
> >
>
>
> Suponiendo usas PERL + DBD::Pg y y tu tabla se llama imagen y tu
campo
> se llama img que la imagen la leiste y la tienes en la variable $im
:
>
>
> my $sth=$dbh->prepare("insert into imagen (img ) values (?)");
>
> $sth->bind_param(1 , $im , {pg_type=> DBD::Pg::PG_BYTEA });
> $sth->execute();
>
>
> Asi de facil
> Mas facil esta dificil
>
>
>
> Leonel
>
>
> ---------------------------(fin del
mensaje)---------------------------
> TIP 4: No hagas 'kill -9' a postmaster

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Patricio Muñoz 2005-05-06 20:15:59 libpq
Previous Message Leonel Nunez 2005-05-06 18:59:05 Re: imagenes en la DB