Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Ładowanie danych obrazu do kolumn BLOB w Oracle

Masz różne pliki obrazów JPG, PNG, GIF i BMP, którymi trzeba zarządzać i tworzyć ich kopie zapasowe w
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;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie o relacje klucza obcego tabeli

  2. 2 sposoby zwracania wierszy zawierających tylko znaki alfanumeryczne w Oracle

  3. Jak wybrać tylko 1 wiersz z Oracle sql?

  4. Jak sprawdzić, czy wartość DataReader nie jest pusta?

  5. Obsługiwane modele formatów dla funkcji daty ROUND() i TRUNC() w Oracle