Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tải dữ liệu hình ảnh vào các cột BLOB trong Oracle

Bạn có nhiều tệp hình ảnh JPG, PNG, GIF và BMP khác nhau cần được quản lý và sao lưu trong cơ sở dữ liệu
và bạn cần một cách để thực hiện tải ban đầu vào cơ sở dữ liệu.

Tải LOB nhị phân đơn giản hơn một chút so với tải LOB dựa trên văn bản.

Tạo một chuỗi cho mã nhận dạng duy nhất của bảng hình ảnh của bạn, cộng với chính bảng:

tạo chuỗi img_seq;

tạo hình ảnh bảng
(
img_num number,
img_nm varchar2 (100),
img_blb blob,
ins_ts timestamp
);

Tiếp theo, chạy một khối ẩn danh để tải hình ảnh SCREEN CAPTURE.BMP vào bảng cơ sở dữ liệu của bạn:

khai báo
src_blb bfile; / * trỏ tới nguồn BLOB trên hệ thống tệp * /
dst_blb blob; / * đích BLOB trong bảng * /
src_img_nm varchar2 (100):='Screen Capture.bmp';
src_offset integer:=1; / * bắt đầu từ đâu trong nguồn BLOB * /
dst_offset integer:=1; / * bắt đầu từ đâu trong BLOB đích * /
begin
src_blb:=bfilename ('LOB_SRC', src_img_nm);
chèn vào hình ảnh (img_num, img_nm, img_blb, ins_ts)
giá trị (img_seq.nextval, src_img_nm, blank_blob (), systimestamp)
trả về img_blb vào dst_blb;
dbms_lob.open (src_blb, dbms_lob.lob_readonly);
dbms_lob.loadblobf> (
dest_lob => dst_blb,
src_bfile => src_blb,
số lượng => dbms_lob.lobmaxsize,
dest_offset => dst_offset,
src_offset => src_offset
);
dbms_lob.close (src_blb);
commit;
dbms_output.put_line ('Đã ghi BLOB vào bảng:' || src_img_nm);
end;

Sau khi chạy khối này, hình ảnh sẽ được tải vào blob và bạn có thể kiểm tra bản ghi bằng lệnh sau:

chọn img_num, img_nm, ins_ts, length (img_blb) từ hình ảnh;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đối chiếu không phân biệt trọng âm và chữ hoa chữ thường trong Oracle với LIKE

  2. Oracle PL / SQL:Ví dụ SQL động sử dụng thực thi ngay lập tức

  3. Cách lấy tên ngày từ ngày trong Oracle

  4. Sự khác biệt của Oracle giữa NVL và Coalesce

  5. Thứ tự hàng mặc định cho truy vấn chọn trong oracle