Tuesday, September 30, 2008

Re: [pgsql-es-ayuda] Insertar imagen tipo bytea

Entonces le quedaria usar
lo_read(PGconn *conn, int fd, char *buf, size_t len);
y lo_open ?

por lo que si bien import lo que hace es devolver un oid, las funciones
que levantan los large objects utilizan estas funciones. o le estoy
pifiando fiero?


El día 30 de septiembre de 2008 12:18, Alvaro Herrera
<alvherre@alvh.no-ip.org> escribió:
> Linder Poclaba Lazaro escribió:
>
> Hola!
>
>> [TopLink Warning]: 2008.09.30 02:23:41.962--UnitOfWork(11595950)--Exception
>> [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs
>> (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException
>> Internal Exception: org.postgresql.util.PSQLException: ERROR: column
>> "imagen" is of type bytea but expression is of type oid
>> Error Code: 0
>> Call: INSERT INTO public.joya (estado, cliente_idcliente, cantidad,
>> peso_otros, imagen, descripcion, peso_bruto, inscripciones, tasacion,
>> idpreforma_joya, kilataje_idkilataje, tipo_joya_idtipo_joya) VALUES (?, ?,
>> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
>> bind => [muy bueno, 0, 1, 1.3, null, anillo de oro, 44.0, regalo,
>> 4.0, 13, 1, 1]
>
> Estás mezclando las cosas. No debes confundir el concepto de un large
> object con una columna de tipo bytea.
>
> Una columna de tipo bytea lleva la imagen misma, es decir la secuencia
> bytes que la componen. Una columna de tipo oid lleva un OID (es decir
> un identificador numérico), que es una referencia a un "large object".
> En este último caso los bytes que forman la imagen se guardan en otra
> tabla (pg_largeobject), y debes importarlos usando lo_import.
>
> Básicamente, ese "null" que tienes ahí debe ir declarado como tipo
> bytea, no como oid.
>
> --
> Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC
> "La realidad se compone de muchos sueños, todos ellos diferentes,
> pero en cierto aspecto, parecidos..." (Yo, hablando de sueños eróticos)
> --
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
> http://archives.postgresql.org/pgsql-es-ayuda
>
--
TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
http://archives.postgresql.org/pgsql-es-ayuda

No comments: