最新历史版本 :通用数据连接常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

 FineBI服务器版本
6.0

1.2 应用场景

本文将列出在数据连接过程中,常见的问题及排查步骤。

2. 排查思路编辑

数据库连接不上可能是连接信息填写错误,也可能是数据库连接环境的问题。本文提供以下排查思路和方式:

  • 检查 URL 是否正确。

  • 检查云数据库白名单。

  • 运行测试小工具,检查除 BI 外的连接环境是否有问题,包括数据库和数据库驱动。

  • 查看后台报错日志,检查是否是数据库驱动与 BI 之间有 JAR 包冲突。

2.1 检查URL是否正确

参考 数据连接支持范围 ,找到对应数据库正确的 URL 格式,检查数据连接 URL 是否填写正确。如下图所示:

2.2 检查防火墙

检查数据库是否给 BI 服务器开启了白名单。

2.3 数据连接自检工具

注1:数据连接自检工具仅提供给用户自行判断使用。技术支持不负责该工具的维护和使用问题解答。

注2:工具运行需 JDK 环境。

该工具可以检测连接环境(数据库和驱动)是否出现了问题,提供以下功能:

  • 检查数据库功能(简单模式),包括:SQL 查询、表信息和可创建数据连接数等。

  • 检查数据库功能(高级模式,支持外部驱动、Kerberos认证等)。

  • 检查工程依赖包/类的位置。

  • 检查数据库网络情况,包括:远程网络连通性检查和本地 hostname 设置检查。

2.3.1 安装工具

点击下载并解压获得附件:fine-tester.zip

将附件中的fine-tester.jar拷贝到任意目录下(英文目录,路径中不要有空格等特殊字符)。如下图所示:

image.png

2.3.2 启动工具

启动 cmd,进入fine-tester.jar所在目录,执行java -jar fine-tester.jar,选择需要检测的功能。如下图所示:

注:支持命令参数输入url/用户/密码,如:java -jar fine-tester.jar url=jdbc:mysql://localhost:3306/test user=root password=xxx

2.3.3 检查数据连接取数是否正常

1)输入数字编号 1,选择测试数据库功能(简单模式)后,根据提示输入数据库驱动代号、URL、用户名、数据库密码等。如下图所示:

注:若自检工具 fine-tester.jar 所在目录中无数据库驱动,需要手动输入数据库驱动的文件路径。

2)选择「SQL 查询和取数耗时」功能,输入需要查询的 SQL 语句。

若输入 SQL 语句后,出现「SQL查询耗时」,则表明小工具连接成功。若中途出现报错,表明除 BI 外的数据库连接环境有问题,需要检查数据库和数据库驱动。

连接成功后,可以通过「创建连接耗时」和「SQL查询耗时」这两个时间对当前数据连接进行排查。如果是创建连接耗时过长,一般是网络通信问题,如果是 SQL 查询耗时较长就需要优化 SQL。如下图所示:

2.3.4 检查工程依赖包的位置

启动工具后,输入数字编号 3 进入「测试 java 类/包」模式,根据提示输入信息后,对工程依赖包的位置进行排查。如下图所示:

2.4 检查内置JDBC驱动版本

FineBI 包含了很多的内置驱动,这些驱动对应的 JDK 版本为 JDK1.8 。在使用过程中,必须确保驱动与 JDK 版本的一致性。

若使用内置的驱动,则环境 JDK 需为 1.8 版本;若不想更换环境的 JDK 版本,则需要去工程路径%FineBI%/webapps/webroot/WEB-INF/lib下,替换与环境 JDK 一致的驱动版本。

内置驱动和匹配 JDK 版本如下表所示:

数据库驱动JDK
SQL Serversqljdbc42.jar
JDK 1.8 且小版本需在 JDK8u102 以上
DB2db2jcc4.jar、db2jcc_license_cu.jar
H2h2-1.4.192.jar
Informixifxjdbc.jar
Sybasesybase.jar
MySQLmysql-connector-java-5.1.6-bin.jar
Oracleojdbc14.jar

如环境 JDK 版本为 1.7 ,想要连接 SQL Server 数据库,但是版本与内置驱动不匹配,需将 SQL Server 的驱动 sqljdbc41.jar 拷贝至上述目录,并删除 sqljdbc42.jar 。

3. 数据连接数量达到注册lic限制编辑

问题描述:

1)用户新增数据连接时报错「当前数据连接数量已达到注册lic限制(x个),无法新增」。如下图所示:


2)管理员进入数据连接管理页面时,报错「当前数据连接数量已超过注册lic限制(x个),所有数据连接不可用,请删除多余的数据连接」。如下图所示:

3)资源迁移时,报错“当前数据连接数量已达到注册lic限制(x个),无法导入”

原因分析:

工程注册时,会对数据连接数进行限制。若达到限制值,则会出现报错或异常状态。

超级管理员登录数据决策系统,在当前页下访问http://IP:端口/webroot/decision/v10/register/info/license,即可查看注册时的限制值。

若数据连接数达到限制值,则将无法添加数据连接,新添加的数据连接不显示。

解决方案 1:删除系统中多余的数据连接,不让数据连接的数量超过注册 lic 的限制,即可新增数据连接。

解决方案 2:如果用户实在需要超过限制的数据连接,可以重新注册,提高数据连接数量的限制。详情请参见:本地机器信息认证

4. 数据连接异常消失编辑

问题描述:

1)数据连接异常消失:如重启消失,注册后消失,突然消失等。

2)新建/更新数据连接后,保存异常,保存不上等。

4.1 检查是否达到注册限制

原因分析:

工程注册时,会对数据连接数进行限制。若达到限制值,则可能会导致系统中超限的数据连接消失。

排查步骤:

超级管理员登录数据决策系统,在当前页下访问http://IP:端口/webroot/decision/v10/register/info/license,即可查看注册时的限制值。

若数据连接数达到限制值,则将无法添加数据连接,新添加的数据连接不显示。

解决方案:

1)删除系统中已有的无用的数据连接,即可新增数据连接。

2)联系帆软销售增购数据连接数量。

4.2 检查外接数据库是否共用

原因分析:

多个工程共用同一个外接数据库时,可能会导致A工程中的配置被B工程覆盖,从而引起数据连接异常消失的情况。

排查步骤:

检查是否存在其他工程使用同一个外接数据库。

解决方案:

若确实共用,请先将当前外接数据库备份。

将其中一个工程的外接数据库进行迁移,详情请参见:配置外接数据库

5. 未加载到驱动编辑

问题描述:

新建数据连接时,点击「测试连接」,报错未加载到驱动

原因分析:

工程中不存在该数据连接所使用的驱动器。

解决方案:

对于外网用户,可直接通过提示界面中的超链,跳转到对应驱动下载的帮助文档。

对于内网用户,请根据您的数据库和驱动类型,自行选择对应文档,下载并放置驱动数据连接

驱动安装完毕后,重新尝试连接即可。

6. NoClassFoundException编辑

问题描述:

工程日志中存在报错信息「NoClassFoundException」

排查思路:

工程中不存在该数据连接所使用的驱动器,或者驱动有问题

7. NoClassDefFoundError编辑

问题描述:

工程日志中存在报错信息「NoClassDefFoundError」

排查思路:

工程下可能存在冲突的驱动包。