1. 概述
1.1 版本
FineReport 版本 | 功能变动 |
---|---|
11.0.1 | 更改上传数据库驱动包的方式:通过「驱动管理」上传,实现热加载 |
1.2 应用场景
本文将介绍如何连接 Oracle 数据库
2. 准备工作
2.1 版本和驱动
支持的数据库版本 | 驱动包下载 |
---|---|
Oracle 11.1 Oracle 11.2 / 11g-R2 Oracle 12.1 / 12c-R1 Oracle 12.2 / 12c-R2 Oracle 13 Oracle 19c | 已内置,无需下载 |
Oracle 9.2.0 / 9i Oracle 10.1 Oracle 10.2 / 10g-R2 | 上传驱动包的具体步骤可参见:驱动管理 2.1 节 |
2.2 收集连接信息
在连接数据库之前,请收集以下信息:
数据库所在服务器的 IP 地址和端口号;
数据库的名称;
数据库的用户名和密码;
要连接的数据库模式;
3. 具体连接步骤
FineReport 提供了两种数据连接方式:
方式一:在设计器中进行连接 ,具体方法请参见: [设计器]JDBC连接数据库 。
方式二:在数据决策平台进行连接。本文主要介绍此种方式。
1)以管理员身份登录数据决策系统,点击「管理系统>数据连接>数据连接管理」,点击「新建数据连接」,如下图所示:
注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 数据连接控制
2)找到 Oracle 数据库,如下图所示:
3)输入 2.2 节的连接信息。若驱动是内置的,选择「默认」;若驱动是自己上传的,可以选择「自定义」,勾选自己要的驱动。
模式需要连接数据库后才可以选择,所以需要先点击「点击连接数据库」后,再选择「模式」,如下图所示:
注:连接多模式的数据库时使用 SQL 语句需要带上模式名前缀进行搜索,例如 SELECT * FROM "ABBY"."FR_S_UEP"
驱动、数据库名称、URL 的介绍如下表所示:
驱动 | DatabaseName | URL |
---|---|---|
oracle.jdbc.driver. OracleDriver | sid_name | jdbc:oracle:thin:@ip:port:sid_name |
service_name | jdbc:oracle:thin:@//ip:port/service_name 或者 jdbc:oracle:thin:@ip:port/service_name | |
TNSName 注:Oracle 安装路径下需要有 tnsnames.ora 文件 | jdbc:oracle:thin:@TNSName |
TNSName 说明如下:
jdbc:oracle:thin:@TNSName URL 中,TNSName 的值为tnsnames.ora文件中 ORCL 的值,如下图所示:
完整的 URL 为:jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST =localhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))
4)点击「测试连接」,若连接成功则点击「保存」,如下图所示:
4. 添加数据库的表至FineReport
详情请参见:数据集
5. 注意事项
Oracle 数据连接中一些报错及解决方案请参见:Oracle 数据连接常见错误解决方案