• Categoría: Oracle SQL
  • Visto: 10876

Ratio: 4 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado
 

La función BFILENAME() devuelve un localizador de tipo BFILE que está asociado con un archivo físico de tipo LOB binario en el filesystem del servidor.

 

Sintaxis

 

BFILENAME(directorio, nombrefichero)

 

- directorio es un objeto de base de datos que sirve como un alias para un nombre de ruta completo en el filesystem del servidor donde  se encuentran los archivos.

 

- nombrefichero es el nombre del archivo en el filesystem del servidor.

 

Debes crear un objeto directorio y asociar un valor BFILE con un archivo físico antes de poder usarlos como argumentos para BFILENAME en un estamento SQL o PL/SQL, paquete DBMS_LOB, o una operación OCI.

 

Puedes utilizar esta función de dos maneras:

 

- En una sentencia DML para inicializar una columna BFILE.

 

- En una interfaz de programación para acceder a datos BFILE asignando un valor al localizador BFILE.

 

El argumento directorio diferencia entre mayúsculas y minúsculas. Debes asegurarse de que se especifica el nombre del objeto directorio tal y como existe en el diccionario de datos. Por ejemplo, si un objeto directorio llamado "Origen" se ha creado utilizando mayúsculas y minúsculas con el estamento CREATE DIRECTORY, a continuación, cuando se utiliza la función BFILENAME debe refierenciar al objeto  directorio como "Origen" y no como "origen". Debes especificar el argumento nombrefichero de acuerdo a las convenciones de puntuación dependiendo del sistema operativo en el que estes trabajando.

 

Ejemplos:

 

El siguiente ejemplo inserta una fila en la tabla productos. En el ejemplo se utiliza la función BFILENAME para identificar un archivo binario en el objeto directorio "Origen". 


INSERT INTO productos (id_producto, foto)
VALUES (31005, BFILENAME('Origen', 'portatil.gif'));