Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Memuat Data Gambar ke Kolom BLOB di Oracle

Anda memiliki berbagai file gambar JPG, PNG, GIF, dan BMP yang perlu dikelola dan dicadangkan di
basis data, dan Anda memerlukan cara untuk melakukan pemuatan awal ke dalam database.

Memuat LOB biner sedikit lebih sederhana daripada memuat LOB berbasis teks.

Buat urutan untuk pengidentifikasi unik tabel gambar Anda, ditambah tabel itu sendiri:

buat urutan img_seq;

membuat gambar tabel
(
nomor img_num,
img_nm varchar2(100),
img_blb blob,
stempel waktu ins_ts
);

Selanjutnya, jalankan blok anonim untuk memuat gambar SCREEN CAPTURE.BMP ke dalam tabel database Anda:

deklarasikan
src_blb bfile; /* arahkan ke BLOB sumber pada sistem file */
dst_blb blob; /* tujuan BLOB dalam tabel */
src_img_nm varchar2(100) :='Screen Capture.bmp';
src_offset integer :=1; /* mulai dari mana dalam BLOB sumber */
dst_offset integer :=1; /* mulai dari BLOB target */
mulai
src_blb :=bfilename('LOB_SRC',src_img_nm);
masukkan ke dalam gambar (img_num, img_nm, img_blb, ins_ts)
nilai(img_seq.nextval, src_img_nm, blank_blob(), systimestamp)
mengembalikan img_blb menjadi dst_blb;
dbms_lob.open(src_blb, dbms_lob.lob_readonly);
dbmsfromfile
(
dest_lob => dst_blb,
src_bfile => src_blb,
jumlah => dbms_lob.lobmaxsize,
dest_offset => dst_offset,
src_offset => src_offset
);
dbms_lob.close(src_blb);
commit;
dbms_output.put_line('Tulis BLOB ke tabel:' || src_img_nm);
end;

Setelah menjalankan blok ini, gambar akan dimuat ke dalam gumpalan dan Anda dapat memeriksa catatan dengan perintah berikut:

pilih img_num, img_nm, ins_ts, panjang(img_blb) dari gambar;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Melewati array data sebagai parameter input ke prosedur Oracle

  2. Oracle MENGEMBALIKAN KE penggunaan di Jawa (JDBC, Pernyataan yang Disiapkan)

  3. Hibernate tidak dapat mengambil SequenceInformation dari database

  4. Bagaimana cara memvalidasi alamat email menggunakan PL/SQL?

  5. Fungsi TRUNC(tanggal) di Oracle