1. 概述编辑
ORACLE 数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
本章我们将介绍如何在 FineBI 中连接 Oracle 数据库。
注:数据连接各设置项详细介绍请参考 配置数据连接
2. 配置信息编辑
驱动 | Database Name | URL | 支持数据库版本 |
---|---|---|---|
oracle.jdbc.driver .OracleDriver | sid_name | jdbc:oracle:thin:@ip:port:sid_name | oracle 9.2.X oracle 10.2.0 oracle 11.2.0 oracle 12.1.0 |
service_name | jdbc:oracle:thin:@//ip:port/service_name |
3. 操作步骤编辑
3.1 新建数据连接
1)以管理员身份登录数据决策系统,点击管理系统>数据连接>数据连接管理,点击新建数据连接,如下图所示:
2)在「常用」选项下选择Oracle,如下图所示:
3.2 配置数据连接
1)根据实际情况输入对应的数据连接信息,如下图所示:
2)点击测试连接,或者在「模式」下点击点击连接数据库,若弹出连接成功提示框,则表示成功连接上数据库,如下图所示:
注1:连接成功后,模式会自动选择默认值。
注2:模式建立的初衷是为了其他功能更容易读取数据库里的数据,选择「默认值」即可。
注3:连接多模式的数据库时使用 SQL 语句需要带上模式名前缀进行搜索,例如 SELECT * FROM "ABBY"."FR_S_UEP"
3)点击右上角保存按钮。
3.3 效果查看
Oracle 数据库连接成功后,可在平台对其进行编辑、重命名、复制、删除等操作,如下图所示:
4. 注意事项编辑
在 Oracle 9i 版本中,精度为 0 的字段值会被识别成文本而不是数值「该字段值用 column.getSize() 计算得到的是 38 ,所以会被识别成文本属性」;其他版本的 Oracle 未有此现象出现。
BI 平台 Oracle 连接池在一段时间没有使用会自动释放,之所以查看连接池有之前的连接,是因为后面用户连接时又重新启用,所以不会因为连接一直得不到释放而造成问题。
4.1 报错相关
在 2019-01-15 之前的版本中,若为 Spider 引擎开启实时数据,直连 Oracle 数据库的话,超过 22 位的字段需要使用 SQL 语句转义添加到 FineBI 中。原因是 FineBI 直连会在字段前加 8 位字符,而 Oracle 超过 30 位标识符在将表添加到 FineBI 中时就会报错 ORA-000972 。
注:在 2019-01-15 之后的 FineBI5.1 版本已经修复该问题,可开启实时数据,直接添加最多 30 位的字段/表名至 FineBI 中。
SQL 转义语句可使用:select “超过22位字段名的字段” as 转义名 from 表,如下图所示: