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

Вземете BLOB от колоната BFILE в Oracle

В Oracle, BFILE колоната е локатор или препратка за външния файл. Има информация за директорията и името на файла. Тук давам пример за PL/SQL код, за да получите BLOB от BFILE колона за локатор в Oracle.

Пример за PL/SQL процедура - Вземете BLOB от колона BFILE

Declare
  l_bfile  BFILE;
  l_blob   BLOB;

  l_dest_offset INTEGER := 1;
  l_src_offset  INTEGER := 1;
BEGIN

  Select your_bfile_column into l_bfile from yourTable
    where yourCondition;
  DBMS_LOB.fileopen(l_bfile, DBMS_LOB.file_readonly);
  
  DBMS_LOB.loadblobfromfile (
    dest_lob    => l_blob,
    src_bfile   => l_bfile,
    amount      => DBMS_LOB.lobmaxsize,
    dest_offset => l_dest_offset,
    src_offset  => l_src_offset);
  DBMS_LOB.fileclose(l_bfile);

  COMMIT;

END;

Променливата l_blob съдържа BLOB извлечен от BFILE колона

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изключение ORA-08103:обектът вече не съществува при използване на setfetchsize на Hibernate

  2. Как да архивирате файл в PL/SQL?

  3. лоша производителност при избор на хибернация в сравнение с директното изпълнение - как да отстраните грешки?

  4. Присъединяване на вложен цикъл в Oracle 11g

  5. LOWER() Функция в Oracle