本文将介绍如何连接 Oracle 数据库。
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
ojdbc14.jar
上传驱动包的具体步骤可参见:驱动管理 2.1 节
在连接数据库之前,请收集以下信息:
数据库所在服务器的 IP 地址和端口号;
数据库的名称;
数据库的用户名和密码;
要连接的数据库模式;
1)以管理员身份登录 FineBI ,点击「管理系统>数据连接管理」,点击「新建数据连接」,如下图所示:
注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 数据连接权限
2)找到 Oracle 数据库,如下图所示:
3)输入 2.2 节的连接信息。若驱动是内置的,选择「默认」;若驱动是自己上传的,可以选择「自定义」,勾选自己要的驱动。
模式需要连接数据库后才可以选择,所以需要先点击「点击连接数据库」后,再选择「模式」,如下图所示:
注:连接多模式的数据库时使用 SQL 语句需要带上模式名前缀进行搜索,例如 SELECT * FROM "ABBY"."FR_S_UEP"
驱动、数据库名称、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)点击「测试连接」,若连接成功则点击「保存」,如下图所示:
有两种方式可以将数据库中的表添加至 FineBI :
添加数据库表
添加SQL数据集
在 Oracle 9i 版本中,精度为 0 的字段值会被识别成文本而不是数值「该字段值用 column.getSize() 计算得到的是 38 ,所以会被识别成文本属性」;其他版本的 Oracle 未有此现象出现。
BI 平台 Oracle 连接池在一段时间没有使用会自动释放,之所以查看连接池有之前的连接,是因为后面用户连接时又重新启用,所以不会因为连接一直得不到释放而造成问题。
若 Oracle 中的字段名包含特殊值(例如:date#$%?/2"),可能会导致自助数据集选字段的时候出现如下图报错。这时需要用户更换使用驱动 ojdbc14 来连接数据库,操作方式可参见本文 2.1 节。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
Submitted successfully
Network busy