Acceso a campos BFILE con JDBC

RECU-0680 (Recurso Ejemplo)

Descripción

En este ejemplo se muestra la forma de acceder a los campos BFILE de una base de datos Oracle mediante JDBC

Ejemplos

Acceso a un campo BFILE usando ResultSet

En este ejemplo suponemos que la base de datos tiene una tabla llamada bfile_table con una columna BFILE llamada bfile_col. Además, suponemos que ya hemos creado una instancia (stmt) de un objeto Statement

Si hacemos una conversión del resultado obtenido usando ResultSet a OracleResultSet podremos usar posteriormente el método getBFILE() para acceder al contenido del campo, tal y como se indica a continuación:

...
ResultSet rs = stmt.executeQuery("SELECT bfile_col FROM bfile_table"); 
while (rs.next()) 
{
   oracle.sql.BFILE my_bfile = ((OracleResultSet)rs).getBFILE(1); 
}
...

Una alternativa es usar el método getObject() para obtener el dato del campo BFILE. En este caso habrá que convertir el resultado a BFILE de la siguiente manera:

oracle.sql.BFILE my_bfile = (BFILE)rs.getObject(1); 

Acceso a un campo BFILE usando OracleCallableStatement

Suponemos que tenemos una instancia (ocs) de un objeto OracleCallableStatement que llama a una función (func) que devuelve un BFILE. Podemos ver cómo se implementa en el siguiente ejemplo:

OracleCallableStatement ocs = 
   (OracleCallableStatement)conn.prepareCall("{? = call func()}");
ocs.registerOutParameter(1, OracleTypes.BFILE);
ocs.execute();
Oracle.sql.BFILE bfile = ocs.getBFILE(1);

Contenidos relacionados