bazie danych, i potrzebujesz sposobu na wstępne wczytanie bazy danych.
Ładowanie binarnych obiektów LOB jest nieco prostsze niż ładowanie obiektów LOB opartych na tekście.
Utwórz sekwencję dla unikalnego identyfikatora tabeli obrazów oraz samej tabeli:
utwórz sekwencję img_seq;
utwórz obraz tabeli
(
img_num numer,
img_nm varchar2(100),
img_blb blob,
ins_ts znacznik czasu
);
Następnie uruchom anonimowy blok, aby załadować obraz SCREEN CAPTURE.BMP do tabeli bazy danych:
zadeklaruj
src_blb bplik; /* wskazuje źródło BLOB w systemie plików */
dst_blb BLOB; /* docelowy BLOB w tabeli */
src_img_nm varchar2(100) :='Screen Capture.bmp';
src_offset integer :=1; /* gdzie zacząć w źródłowym obiekcie BLOB */
dst_offset integer :=1; /* gdzie zacząć w docelowym obiekcie BLOB */
rozpocznij
src_blb :=bfilename('LOB_SRC',src_img_nm);
wstaw do obrazu (img_num, img_nm, img_blb, ins_ts)
wartości(img_seq.nextval, src_img_nm, empty_blob(), systimestamp)
zwracanie img_blb do dst_blb;
dbms_lob.open(src_blb, dbms_lob.lob_readonly);
loadbloms_lob;>(
dest_lob => dst_blb,
src_bfile => src_blb,
ilość => dbms_lob.lobmaxsize,
dest_offset => dst_offset,
src_offset => src_offset
);
dbms_lob.close(src_blb);
commit;
dbms_output.put_line('Wpisz BLOB do tabeli:' || src_img_nm);
end;
Po uruchomieniu tego bloku obraz zostanie załadowany do obiektu blob i możesz sprawdzić rekord za pomocą następującego polecenia:
wybierz img_num, img_nm, ins_ts, length(img_blb) z obrazu;