A comprehensive, containerized playground for integrating Oracle Autonomous Database Free 26ai with JasperReports Server (Community Edition). This project enables developers and data analysts to explore the synergy between Oracle's latest AI-centric database and enterprise-grade reporting.
This repository provides a production-ready Docker Compose environment that spins up:
- Oracle Autonomous Database Free 26ai: The latest version of Oracle's converged database, featuring native AI Vector Search, select AI, and integrated machine learning.
- JasperReports Server (CE): A powerful reporting server backed by MariaDB, ready to consume data from Oracle ADB.
Oracle Database 23ai (and the Free 26ai container version) introduces groundbreaking features like AI Vector Search, allowing you to run semantic search directly on your data. By integrating this with JasperReports, you can create next-generation dashboards that not only visualize structured data but also provide insights derived from unstructured data processing and vector similarity queries.
The solution uses a microservices-inspired architecture managed via Docker Compose:
graph LR
subgraph "Docker Network"
ODB[Oracle ADB 26ai] -- Port 1522 --> Net((Internal Network))
JS[JasperReports Server] -- JDBC --> ODB
MDB[MariaDB] -- Metadata --> JS
end
User[Developer/Analyst] -- Browser :9091 --> JS
User -- SQL/Tools :1522 --> ODB
oracle-adb: Host for the Application/Data layer.jasper-server: The Reporting Application Server.mariadb: Repository database for JasperServer metadata.
- Docker and Docker Compose installed.
- Git installed.
- Minimum 8GB RAM allocated to Docker (Oracle ADB is resource-intensive).
git clone https://github.com/eng-malek/Oracle-adb-26ai-Integration-for-Jasper-Report-Server.git
cd Oracle-adb-26ai-Integration-for-Jasper-Report-ServerGo to the oracle-adb directory and set up your environment:
cd oracle-adb
cp .env.example .env
# Optional: Edit .env to set your own passwordsCreate the required Docker assets:
docker network create oracle-adb-network
docker volume create oracle-adb-data
docker volume create oracle-adb-logsStart the database:
docker compose up -dWait a few minutes for the database to fully initialize.
Open a new terminal or move to the directory:
cd ../jasper-server
cp .env.example .envStart the reporting server:
docker compose up -d- JasperReports Server: http://localhost:9091/jasperserver
- Default User:
jasperadmin - Default Pass:
jasperadmin
- Default User:
- Oracle Database:
localhost:1522- Service:
ORCLPDB1 - User/Pass: As configured in
.env.
- Service:
To query Oracle data from JasperReports, you must install the Oracle JDBC driver:
- Download
ojdbc8.jarfrom Oracle's website. - Copy it to the running Jasper container:
docker cp ojdbc8.jar jasperreports:/opt/bitnami/jasperreports/apache-tomcat/lib/
- Restart the Jasper container:
docker restart jasperreports
- Create Data Source in Jasper UI using URL:
jdbc:oracle:thin:@oracle-adb:1522/ORCLPDB1
(See jasper-server/README.md for detailed steps.)
With Oracle ADB 26ai, you can enhance your reports with AI:
- Vector Search: Store embeddings of product descriptions or logs in Oracle.
- Natural Language Queries: Use
DBMS_CLOUD_AI(if configured with external keys) to translate natural language questions into SQL for your reports. - Predictive Analytics: Run In-Database Machine Learning (OML) models and visualize the predictions in JasperReports.
- Secrets Management: This repo uses
.envfiles. Never commit your.envfiles. - Oracle Wallet: For secure mTLS connections, map your wallet directory in
oracle-adb/docker-compose.yaml. - Network: The database and report server communicate over an isolated Docker network (
oracle-adb-network).
├── oracle-adb/ # Oracle ADB Container config & docs
├── jasper-server/ # JasperReports Server config & docs
├── image/ # Architecture diagrams & screenshots
├── .env.example # (Inside subfolders) - Environment templates
└── docker-compose... # (Inside subfolders) - Service definitions
Contributions are welcome! Please:
- Fork the repository.
- Create a feature branch.
- Submit a Pull Request.
This is an unofficial community project and is not an official Oracle product. Standard license terms apply.
Maintained by:
Eng. Malek Mohammed Al-edresi
Oracle APEX & Database Developer | AI & Vector Search Enthusiast
