Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
InsertarImagenes en Base de Datos de Oracle
Enviado por Tipitipi el día 13 de enero de 2008
Hola a todos:
Estoy haciendo una base de datos, y una de las tablas necesito insertar fotografías ó mejor dicho archivo de formato imagen.
La duda que tengo es: de que tipo he de declarar la colummna en donde irán las imagenes y como inserto imagenes nuevas en la tabla desde el Sql Plus ?
Aunque talvez no tanto, usa tu imaginación y utiliza lo que te acabo de mandar, no despliegues, madale el nombre del archivo en un insert.
Pero como te vas a dar cuenta que si se inserto la imagen, tendras que tener una interface no crees, porque ese campo (long Raw) no es tan facil de manejar con sql plus.
El tipo de dato para tu tabla es Long Raw y el codigo posible es:
-- Este codigo es utilizado con Webutil
-- declaras variables
declare
dirname varchar2(255);
v_filename varchar2(255);
begin
-- apunta a la unidad C: para uniciar la busqueda del archivo de imagen
CLIENT_tool_env.getvar('DEMO20', dirname);
dirname := 'C:\';
-- filtras el tipo de archivo que deseas sea selecionado y ademas te muestra el cuadro de dialog para que selecciones la imagen
v_filename := CLIENT_get_file_name(dirname,NULL,
'Bitmap Files (*.bmp)|*.bmp|' ||
'CompuServe Files (*.gif)|*.gif|',
'Seleccionar Imagen.' );
-- ya seleccionada la imagen la despliega la misma en el campo fotograia de la tabla fotos
if v_filename is not null then
CLIENT_IMAGE.read_image_file(v_filename,'ANY','FOTOS.fotografia');
end if;
end;
-- lo que hace la ultima instrucción es: despliega la imagen que tienes en v_filename , de cualquier tipo, en el campo fotos.fotografia.
ANY lo puedes campiar por el formato que requieras siempre y cuando tu formato sea único, gif, jpg, bmp etc.
Y por ultimo al guardar tu registro se almacenara en el campo fotografía lo que tenga este, una imagen.