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

目录:

1. 概述编辑

1.1 版本

 FineBI服务器版本
6.0

1.2 应用场景

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

2. 排查思路编辑

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

2.1 检查URL是否正确

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

2.2 检查防火墙

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

2.3 数据连接自检工具

该工具可以检测连接环境(数据库和数据库驱动)是否出现了问题,支持以下四类的检测:

注:工具运行需 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 语句后,出现「连接成功」,则表明小工具连接成功。若中途出现报错,表明除 BI 外的数据库连接环境有问题,需要检查数据库和数据库驱动。

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

2.3.4 检查工程依赖包的位置

启动工具后,选择测试 java 类/包,输入数字编号 1,选择检查工程依赖中包/类的路径。

根据提示输入报表服务器工程 WEB-INF 的绝对路径、需要查询的包/类名。如下图所示:

2.4 检查内置JDBC驱动版本

FineBI 包含了很多的内置驱动,这些驱动对应的 JDK 版本为 JDK1.8 。

若使用内置的驱动,则环境 JDK 需为 1.8 版本;若不想更换环境的 JDK 版本,则需在工程下替换与该 JDK 一致的驱动版本。

下面我们将列出 FineBI 所包含的一些内置驱动和匹配 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

驱动 JAR 包地址为:%FineBI%/webapps/webroot/WEB-INF/lib下,若 JDK 版本不匹配,可去该路径下替换驱动版本。

如环境 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」

排查思路:

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