Guardar fotos y obtenerlas denuevo

oscar
23 de Septiembre del 2003
deseo saber si alguien puede manadarme elcodigo necesario para almecenar una imagen dentro de una base de datos oracle asi como la forma de recuperarla de la misma y mostrarla en una pagina ASP, ya que en mi instituto nos an planteado ese problema y damos con la solucion hemos leido el manual que viene junto con Oracle y esta inentendible esa parte, muchas gracias

fortfue
23 de Septiembre del 2003
Para la parte de cargarla puedes probar lo siguiente:

Hay que usar el paquete dbms_lob, los bfile y los directory.

Se crea un objeto DIRECTORY indicando donde está el fichero a cargar:

CREATE OR REPLACE DIRECTORY \\'DIRECTORIO\\' as \\'/private1/LOB/files\\';

Donde \\'DIRECTORIO\\' es un identificador que nosotros le damos y \\'/private1/LOB/files\\' es el path donde vamos a poner los ficheros a cargar.

Se lanza algo como lo siguiente:

declare
lobd BLOB;
fils BFILE;
amt number;
BEGIN
fils:=BFILENAME(\\'DIRECTORIO\\', \\'fichero.jpg\\');
DBMS_LOB.FILEOPEN(fils, dbms_lob.file_readonly);
amt:=dbms_lob.GETLENGTH( fils );
dbms_lob.CREATETEMPORARY(lobd,false);
DBMS_LOB.LOADFROMFILE(lobd, fils, amt);
update \"nombretabla\" set \"columnablob\"=lobd where \"condicion\";
COMMIT;
DBMS_LOB.FILECLOSE(fils);
END;

Donde fichero.jpg es el nombre del fichero a cargar, \"nombretabla\" la tabla donde lo cargamos, \"columnablob\" la columna tipo blob y \"condicion\" las condiciones que queramos poner en el where. Por supuesto en lugar de un update podría ser un insert.


Del resto no lo he hecho nunca, lo siento.