database, en je hebt een manier nodig om de database voor het eerst te laden.
Het laden van binaire LOB's is iets eenvoudiger dan het laden van op tekst gebaseerde LOB's.
Maak een reeks voor de unieke identificatie van uw afbeeldingstabel, plus de tabel zelf:
maak reeks img_seq;
tabelafbeelding maken
(
img_num-nummer,
img_nm varchar2(100),
img_blb blob,
ins_ts tijdstempel
);
Voer vervolgens een anoniem blok uit om de afbeelding SCREEN CAPTURE.BMP in uw databasetabel te laden:
declareer
src_blb bbestand; /* wijs naar bron-BLOB op bestandssysteem */
dst_blb blob; /* bestemmings-BLOB in tabel */
src_img_nm varchar2(100) :='Screen Capture.bmp';
src_offset integer :=1; /* waar te beginnen in de bron-BLOB */
dst_offset integer :=1; /* waar te beginnen in de doel-BLOB */
begin
src_blb :=bfilename('LOB_SRC',src_img_nm);
invoegen in afbeelding (img_num, img_nm, img_blb, ins_ts)
values(img_seq.nextval, src_img_nm, empty_blob(), systimestamp)
img_blb terugzetten in dst_blb;
dbms_lob.open(src_blb, dbms_lob.lob_readonly);
dbbloms);>(
dest_lob => dst_blb,
src_bfile => src_blb,
amount => dbms_lob.lobmaxsize,
dest_offset => dst_offset,
src_offset => src_offset
);
dbms_lob.close(src_blb);
commit;
dbms_output.put_line('Schreef BLOB naar tabel:' || src_img_nm);
end;
Nadat dit blok is uitgevoerd, wordt de afbeelding in de blob geladen en kunt u de record controleren met het volgende commando:
selecteer img_num, img_nm, ins_ts, length(img_blb) van afbeelding;