Acceso a campos BFILE con JDBC
- Área: Capa de Persistencia
- Carácter del recurso: Permitido
- Tecnologías: Java
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
Código | Título | Tipo | Carácter | |
---|---|---|---|---|
LIBP-0047 | Buenas prácticas en las consultas con JPA | Libro de pautas | Directriz | Obligatoria |