y necesita una forma de realizar una carga inicial en la base de datos.
Cargar LOB binarios es un poco más simple que cargar LOB basados en texto.
Cree una secuencia para el identificador único de su tabla de imágenes, además de la propia tabla:
crear secuencia img_seq;
crear imagen de tabla
(
img_num number,
img_nm varchar2(100),
img_blb blob,
ins_ts timestamp
);
A continuación, ejecute un bloque anónimo para cargar la imagen SCREEN CAPTURE.BMP en la tabla de su base de datos:
declarar
src_blb bfile; /* apunta al BLOB de origen en el sistema de archivos */
dst_blb blob; /* BLOB de destino en la tabla */
src_img_nm varchar2(100) :='Screen Capture.bmp';
src_offset integer :=1; /* dónde empezar en el BLOB fuente */
dst_offset integer :=1; /* dónde comenzar en el BLOB de destino */
begin
src_blb :=bfilename('LOB_SRC',src_img_nm);
insertar en la imagen (img_num, img_nm, img_blb, ins_ts)
values(img_seq.nextval, src_img_nm, empty_blob(), systimestamp)
devolviendo img_blb a dst_blb;
dbms_lob.open(src_blb, dbms_lob.lob_readonly);
dbms_lob.loadblobfromfile
(
dest_lob => dst_blb,
src_bfile => src_blb,
cantidad => dbms_lob.lobmaxsize,
dest_offset => dst_offset,
src_offset => src_offset
);
dbms_lob.close(src_blb);
commit;
dbms_output.put_line('Escribió BLOB en la tabla:' || src_img_nm);
end;
Después de ejecutar este bloque, la imagen se cargará en blob y podrá verificar el registro con el siguiente comando:
seleccione img_num, img_nm, ins_ts, length(img_blb) de la imagen;
