| Inicio | Tu Cuenta | Manuales | Foros | Tutoriales | Los TOP | Empleos| Artículos | Comentarios |   

Manual Oracle
 1: Monitoreo de Bloqueos 
 2: Manejo de Clusters en Oracle 
 3: Analiszando las Consultas tipo Hash 
 4: Introducción a ORACLE Developer - Castellano 
 5: Creación de un Formulario en Developer Forms - Castellano 
 6: Administracion de Base de Datos Oracle 
 7: Tutorial de Oracle9i Reports 
 8: Manual de Developer Forms 
 9: Manual de Oracle9i Reports 
 10: External tables en Oracle 9i 


Mas de Oracle


Noticias Oracle


Error Ora-


Script Oracle Español
· Scripts para DBA
· SQL ANSI en Oracle 10g
· Pivoting INsert en Oracle 10g
· Sentencias de inserción en varias tablas - Oracle 10g
· Sentencia Insert condicionada - Oracle 10 g

[ Más en la Sección de Noticias ]



Guarda una imagen en un campo Blob
Enviado el Lunes, 18 julio a las 12:03:11 por csr

Concepto y Practica

Guardar una imagen en un campo Blob

El siguiente código de ejemplo guarda la imagen c:imagenmiimagen.gif en la tabla T_imagenes que tiene la siguiente estructura:



SQL> Desc T_imagenes

field type
id varchar2(20)
img Blob

el campo img es un campo blob donde se almacenará el contenido del archivo de imagen.

Hay 3 aspectos a tener en cuenta:

1. Definir para la bd oracle, un directorio asociado a la carpeta del sistema operativo donde se encuentra la imagen (c:imagen).

SQL> create directory IMAGEN_DIR as 'c:imagen';

2. Definir permisos de lectura al usuario que carga la imagen a la bd. Si por ejemplo el usuario se llama usuariopruebas, la sentencia sql sería:

SQL> grant read on directory IMAGEN_DIR to usuariopruebas;

3. Adicionar el código para la carga. En este caso, se creará un procedimiento llamado agregaImagen, cuyos parámetros de entrada son el directorio y el nombre del archivo a leer. El código del proc es:

CREATE OR REPLACE PROCEDURE agregaImagen (directorio IN varchar2, archivoImagen IN varchar2) as
f_lob bfile;
b_lob blob;
BEGIN
f_lob := bfilename(directorio, archivoImagen);

INSERT INTO T_imagenes VALUES ( 'id1', empty_blob() )
RETURNING img into b_lob;

--Abrir archivo
dbms_lob.fileopen(f_lob,dbms_lob.file_readonly);

--Leer archivo
dbms_lob.loadfromfile( b_lob, f_lob, dbms_lob.getlength (f_lob) );

--Cerrar archivo
dbms_lob.fileclose(f_lob);
commit;
END;

Ahora, para completar el ejercicio, se ejecuta el procedimiento agregaImagen con los parámetros IMAGEN_DIR y el nombre del archivo a cargar.

SQL> execute agregaImagen('IMAGEN_DIR','miimagen.gif')

 


 
Enlaces Relacionados
· Más Acerca de Concepto y Practica
· Noticias de csr


Noticia más leída sobre Concepto y Practica:
Mandatos de Sql Plus



Votos del Artículo
Puntuación Promedio: 4.10
votos: 37


Por favor tómate un segundo y vota por este artículo:

Malo
Regular
Bueno
Muy Bueno
Excelente




Opciones

Versión Imprimible  Versión Imprimible

Enviar a un Amigo  Enviar a un Amigo


Manual Oracle
Oracle Manual y tutorial, Pl/Sql, Discoverer, Forms, Sql y Plsql - Orape



Adaptado para nuke 6.0 por DragónNB