Blog

Programación, desarrollo web y SEO

Paquete DBMS_LOB BFILE (II)

Inicialización BFILE | DBMS_LOB

Los objetos BFILE requieren un tipo de inicialización diferente, por ser objetos que no están físicamente dentro de la BBDD.
Se deben de inicializar mediante BFILENAME.
Características:
- Al estar fuera de la BBDD no existe control de transacciones sobre ellos.
- Sólo son objetos de Lectura
- El localizador es: Directorio + Fichero.

BFILE. Directorio

Entendemos por directorio, un nuevo objeto del Diccionario de Datos que permite conocer la localización de un archivo en el sistema operativo.
Es un alias lógico para el PATH real del archivo.

Create DIRECTORY Nombre as Camino_Sistema_Operativo

CREATE DIRECTORY mio AS C:\orawins\dbs’;
GRANT READ ON DIRECTORY mio TO PUBLIC;

Para poder introducir un objeto deberemos utilizar la función BFILENAME.

 

BFILENAME (Directorio, Nombre_archivo) return BFILE;

 

INSERT INTO T1 VALUES (30, NULL, NULL, BFILENAME(mio’,’fichero.txt’);

Cuando se copia elementos de tipo BFILE se copia sólo la referencia, al contrario que los BLOB o CLOB que copiamos todo el objetos en la BD.

Si borramos un file que contiene un campo BFILE, se borra el localizador y nunca el archivo real del Sistema Operativo!
El número máximo de BFILE abiertos por sesión dependerá del parámetro SESSION_MAX_OPEN_FILES.

Share this post

1 comment

Join the conversation

Join the conversation


− dos = 1