Oracle
 sql >> база данни >  >> RDS >> Oracle

Зареждане на данни за изображения в BLOB колони в Oracle

Имате различни JPG, PNG, GIF и BMP файлове с изображения, които трябва да се управляват и архивират в
базата данни, и ви е необходим начин да направите първоначално зареждане в базата данни.

Зареждането на двоични LOB е малко по-лесно от зареждането на текстови LOB.

Създайте последователност за уникалния идентификатор на вашата таблица с изображения плюс самата таблица:

създаване на последователност img_seq;

създайте изображение на таблица
(
img_num номер,
img_nm varchar2(100),
img_blb blob,
ins_ts времево клеймо
);

След това стартирайте анонимен блок, за да заредите изображението SCREEN CAPTURE.BMP в таблицата на вашата база данни:

декларира
src_blb bfile; /* насочване към източник BLOB във файловата система */
dst_blb blob; /* дестинация BLOB в таблица */
src_img_nm varchar2(100) :='Screen Capture.bmp';
src_offset integer :=1; /* откъде да започнем в изходния BLOB */
dst_offset integer :=1; /* откъде да започнем в целевия BLOB */
започнете
src_blb :=bfilename('LOB_SRC',src_img_nm);
вмъкнете в изображение (img_num, img_nm, img_blb, ins_ts)
стойности(img_seq.nextval, src_img_nm, empty_blob(), systimestamp)
връщане на img_blb в dst_blb;
dbms_lob.open(src_blb, dbms_lob.lob_readonly);
dbms_readonly);
dbms_lob.open);>(
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('Написа BLOB в таблицата:' || src_img_nm);
end;

След стартиране на този блок изображението ще бъде заредено в blob и можете да проверите записа със следната команда:

изберете img_num, img_nm, ins_ts, length(img_blb) от изображението;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвам Oracle Ref Cursor от C# ODP.NET като параметър на ReturnValue, без да използвам съхранена функция или процедура?

  2. Върнете резултатите от заявката като списък, разделен със запетая в Oracle

  3. извличане на множество колони, група по дата интервалl

  4. Мога ли да съхранявам двоичен низ в колона CLOB

  5. Oracle SQL:Колона не е разрешена