<table cellspacing='0' cellpadding='0' border='0' ><tr><td style='font: inherit;'><span style="font-family: monospace;">Hola a Todos<br>
<br>
Yo uso Power Builder, no he encontrado funciones para transformar datos
a bytea. Si hay algún programador en PB en esta lista y conoce estas
funciones por favor le pido que me las diga.<br>
<br>
He usado lo_object<br>
<br>
Paga Updatear hago lo siguiente:<br>
<br>
select into arch lo_unlink(blb_archivo2) from pai_tab_entrevistas_archivo<br>
where cod_entidad = $1 and cod_entrevista = $2;<br>
<br>
update pai_tab_entrevistas_archivo<br>
set blb_archivo2 = lo_import($5) where cod_entidad = $1 and cod_entrevista = $2;<br>
<br>
EL $5 es la ruta desde donde carga el archivo<br>
<br>
Para leer hago lo siguiente:<br>
<br>
select into sn case blb_archivo2 is null when true then 'S' else 'N' end from pai_tab_entrevistas_archivo<br>
where cod_entidad = $1 and cod_entrevista = $2;<br>
<br>
if sn = 'S' then <br>
return 'No Existe el Archivo en la BD';<br>
else<br>
select into arch lo_export(blb_archivo2, $5) from <br>
pai_tab_entrevistas_archivo<br>
where cod_entidad = $1 and cod_entrevista = $2;<br>
return 'S';<br>
end if;<br>
<br>
EL $5 es la ruta donde bajara el archivo, luego el PB se encarga de leerla desde el disco.<br>
<br>
No me parece muy eficiente, me gustaria poder carga el archivo desde la tabla y no de un archivo tal como lo estoy haciendo. <br>
Si alguien tuviera alguna idea, aunque quiza debiera preguntar esto en una lista de PB.<br>
<br>
Juan sobre lo que me dices que si borro el registro, se borrar el archivo dentro del campo, entiendo que eso ocurre cuando usas bytea.<br>
<br>
Cuando usas lo_object, ocurre lo mismo?, me estoy asegurando usando </span><span style="font-family: monospace;">lo_unlink<br>
<br>
<br>
</span><span style="font-family: monospace;">***********************************************************<br>
Carlos Márquez<br>
***********************************************************<br>
<br>
--- El lun 28-abr-08, Juan Manuel Fernandez <jmfernandez(at)unlu(dot)edu(dot)ar> escribió:<br>
<br>
De: Juan Manuel Fernandez <jmfernandez(at)unlu(dot)edu(dot)ar><br>
Asunto: Re: [pgsql-es-ayuda] Dudas sobre Almacenamiento de imagenes en PostgreSQL<br>
A: carlos_marquez_rey(at)yahoo(dot)com<br>
Fecha: lunes, 28 abril, 2008, 3:07 pm<br>
<br>
El día 28 de abril de 2008 13:08, Carlos Alberto Márquez Rey<br>
<carlos_marquez_rey(at)yahoo(dot)com> escribió:<br>
> Hola a todos<br>
<br>
Hola Carlos!<br>
<br>
> Espero me puedan ayudar<br>
<br>
Y yo espero poder ayudarte :P!<br>
<br>
> me encuentro en la tarea de guardar imágenes en una tabla de mi BD.<br>
> He estado buscando que funciones y que tipo de datos usar.<br>
><br>
> Encontre que hay 2 tipos que se pueden usar: bytea y oid (lo_objects)<br>
<br>
Yo personalmente utilizo bytea que lo que hace es (bien casero lo mio)<br>
representar al archivo a través de una sequencia de bytes, que se<br>
alojan en "alguna parte" (para seguir con mi terminología tan<br>
precisa<br>
:P) de la BD física.<br>
<br>
> Que funciones se pueden usar con el typo bytea o de que forma se carga y<br>
> descarga las imagenes.<br>
<br>
Como yo lo trabajo, lo que hago es manejar este tipo de datos como los<br>
demás data-types en las operaciones básicas (update, insert, delete) y<br>
utilizar las funciones de la herramienta en la que desarrollo la<br>
aplicación (en este momento PHP) para la carga y descarga de los<br>
archivos, y la verdad, se comporta muy bien, no se vuelve mas pesado<br>
de lo que podriamos esperar.<br>
<br>
<br>
> Leyendo algo de la documentación de lo_objects que encuentro por<br>
internet,<br>
> se dice que el objeto se guarda en "algún lugar" de la BD y que<br>
en la tabla<br>
> donde se declara el OID se guarda una referencia a esa localización,<br>
<br>
En el caso de bytea guarda la "secuencia de bytes" que representan el<br>
archivo directamente...<br>
<br>
> Si borro el registro de la tabla, que sucede con la imagen?<br>
<br>
Se borra, asi de simple... :P la verdad no representa mayor<br>
complejidad trabajar con este data-type en PostgreSQL 8.3.1 que es el<br>
que estoy usando...<br>
<br>
> Espero me puedan ayudar<br>
<br>
Espero haberte ayudado....<br>
<br>
> Muchas Gracias de antemano<br>
<br>
De nada!<br>
<br>
> Carlos Márquez<br>
<br>
Saludos,<br>
<br>
Juan</span></td></tr></table><br>
<hr size=1><br><font face="Verdana" size="-2">Yahoo! Deportes Beta<br>¡No te pierdas lo último sobre el torneo clausura 2008!<br> Entérate aquí http://deportes.yahoo.com</font>