databázi a potřebujete způsob, jak provést počáteční načtení databáze.
Načítání binárních objektů LOB je o něco jednodušší než načítání textových objektů LOB.
Vytvořte sekvenci pro jedinečný identifikátor tabulky obrázků a tabulku samotnou:
vytvořit sekvenci img_seq;
vytvořit obrázek tabulky
(
img_num number,
img_nm varchar2(100),
img_blb blob,
ins_ts timestamp
);
Dále spusťte anonymní blok k načtení obrázku SCREEN CAPTURE.BMP do tabulky databáze:
deklarovat
src_blb bfile; /* ukaž na zdrojový BLOB v systému souborů */
dst_blb blob; /* cílový BLOB v tabulce */
src_img_nm varchar2(100) :='Screen Capture.bmp';
src_offset integer :=1; /* kde začít ve zdrojovém BLOB */
dst_offset integer :=1; /* kde začít v cílovém BLOB */
začátek
src_blb :=bfilename('LOB_SRC',src_img_nm);
vložit do obrázku (img_num, img_nm, img_blb, ins_ts)
values(img_seq.nextval, src_img_nm, empty_blob(), systimestamp)
vrácení img_blb do dst_blb;
dbms_lob.open(src_blb, dbms_lob.lob_readonly); /
>(
dest_lob => dst_blb,
src_bfile => src_blb,
množství => dbms_lob.lobmaxsize,
dest_offset => dst_offset,
src_offset => src_offset
);
dbms_lob.close(src_blb);
commit;
dbms_output.put_line('Zapsal BLOB do tabulky:' || src_img_nm);
end;
Po spuštění tohoto bloku se obrázek načte do blobu a záznam můžete zkontrolovat pomocí následujícího příkazu:
vyberte img_num, img_nm, ins_ts, length(img_blb) z obrázku;