sql >> Base de Datos >  >> RDS >> Oracle

Obtenga BLOB de la columna BFILE en Oracle

En Oracle, el BFILE column es un localizador o una referencia para el archivo externo. Tiene el directorio y la información del nombre del archivo. Aquí doy un ejemplo de código PL/SQL para obtener BLOB del BFILE columna del localizador en Oracle.

Ejemplo de procedimiento PL/SQL - Obtener BLOB de la columna 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;

La variable l_blob contiene el BLOB extraído del BFILE columna