Me han consultado como mostrar en un informe, una imagen almacenada en una tabla de la base de datos.
Esto es en realidad muy sencillo, e involucra el uso de la función dbms_lob.getlength().
El procedimiento a seguir es el siguiente:
- Cree una nueva página en su aplicación de tipo Informe
- Incluya una consulta SQL similar a la siguiente:
1 2 3 4 5 6 7 8 |
SELECT "PRODUCT_ID" "PRODUCT_ID", "PRODUCT_NAME" "PRODUCT_NAME", "PRODUCT_DESCRIPTION" "PRODUCT_DESCRIPTION", "LIST_PRICE" "LIST_PRICE", dbms_lob.getlength("PRODUCT_IMAGE") "PRODUCT_IMAGE" FROM "DEMO_PRODUCT_INFO" |
Observe la inclusión de la función dbms_lob.getlength()
- Complete el informe
- Haga clic en el enlace Informe en la sección de regiones
- Ahora haga clic en el icono de edición de la columna correspondiente a la imagen
- En la sección de Formato de Columna, en el campo Formato Numérico/Fecha agregue el siguiente texto:
1 |
IMAGE:DEMO_PRODUCT_INFO:PRODUCT_IMAGE:PRODUCT_ID::::::inline:Descargar |
en donde:
- DEMO_PRODUCT_INFO, es el nombre de la tabla del reporte,
- PRODUCT_IMAGE, es el nombre de la columna BLOB que contiene la imagen a mostrar,
- PRODUCT_ID, es el nombre de la columna llave de la tabla.
- Finalmente haga clic en el botón
Eso es todo, si ejecutan la nueva página, deberían estar viendo en cada línea del reporte, la correspondiente imagen en la columna indicada.
Pueden observar un reporte igual al descrito en mi aplicación de ejemplo en OTN.
Los espero en la siguiente.