历史版本6 :外接数据库配置常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文列举 配置外接数据库 时,可能出现的报错和解决方案。

2. 示例编辑

2.1 数据库连接失败

问题现象:

当出现配置 SQL Server 和 Oracle等含有模式的数据库时,出现报错:数据库连接失败,wait millis 10000,active0,maxActive 50

如下图所示:

image.png

解决方案:

首先要确认数据库名称,主机地址,端口用户名和密码是否正确,再确认此服务器此端口是否开放给其他电脑。可在其他地方进行数据库连接测试。

其次若确认完毕后仍出现报错,则需要更改模式使其与用户名一样,可解决这个问题

如下图画红框部分:

image.png

2.2 用户 root 登录失败

问题现象:

报错信息为:用户 root 登录失败,ClientConnectionId:e484a26e-8f2b-4e28-b9e4-32798ec032b7 ,以及外置数据无法连接配置等报错

解决方案:

第二种报错是由于 FineReport 外置数据库的配置错误,则需要删除 FineReport 的外置数据库的配置信息,进行外置数据库重新配置。

删除FineReport_10.0webappswebrootWEB-INFconfig下的后缀名为 db.properties 文件。然后就可以重新对 FineReport 外置数据库进行配置

2.3 could not execute batch

问题描述:

配置外接数据库 MySQL 报错 could not execute batch

报错日志如下所示:

16:59:48 Thread-45 ERROR [standard] could not execute batch
com.fr.third.org.hibernate.exception.GenericJDBCException: could not execute batch

......Caused by: java.sql.SQLException:Incorrect string value: 'xE6xA8xA1xE6x9DxBF...' for column 'id' at row 1

原因分析:

检查确保是有权限的

Incorrect string value: 'xE6xA8xA1xE6x9DxBF...' for column 'id' at row 1 应当是数据库编码的原因。

解决方案:

查看客户建 FineDB 数据库的语句:create database finedb

发现没有加约束条件,将语句改为:create database finedb DEFAULT CHARSET utf8 COLLATE utf8_bin

导入成功。

2.4 Oracle could not execute batch

问题描述:

配置外接数据库 Oracle 报错 Oracle could not execute batch

解决方案:

模式填thin就会报错,改成用户名。

2.5 外接 Oracle9i 数据迁移失败

问题描述:

外接 Oracle9i 数据库时,数据迁移中途卡住,数据迁移失败。

解决方案:

Oracle9i 对数据库表的数据长度有限制,swift 表数据过长导致迁移至 Oracle9i 失败。

先将工程目录下 fine-swift-log-adaptor-10.0.jar 包删除,重启工程后再执行数据迁移即可,jar 包路径 %FR_HOME%designerbackup2019.05.29.16.38.25.702fine-swift-log-adaptor-10.0.jar

注:数据迁移成功后,将 jar 包重新放回工程并重启,swift 表中数据会重新配置且之前的日志无法查询。

2.6 集群环境下 FineDB 迁移失败

问题描述:

集群环境下迁移 FineDB 数据库,使用平台功能迁移,出现如下图所示的界面后,点击登录会反复刷新此界面。

1584343979247075.jpg

原因分析:

集群环境下的迁移操作方法出错。

解决方案:

需要把一个节点关了,然后对另一个节点进行迁移,迁移成功后,把 config 文件复制到没迁移的节点,然后再启动。

2.7 数据库迁移后升级 JAR ,无法打开平台

问题描述:

用户已配置外接数据库,升级 JAR 后,无法打开平台,报错:TASKNAMECALCCULATEATEONCE 标识符和 USERALIAS 标识符无效

原因分析:

进行迁移用户没有 alter 权限,无法生成字段。

解决方案:

给迁移的用户授权 alter 权限。

2.8 升级 JAR ,迁移数据库后,回退 JAR ,平台登录失败

问题描述:

报表工程已迁移至外接数据库,升级 JAR 后,又迁移至另一外接数据库,回退 JAR,发现平台登录失败,显示数据库连接异常,如下图所示:

image.png

原因分析:

 JAR 回退,但存储外接数据库配置的 db.properties 文件没有跟随其变化。

解决方案:

检查 %FR_HOME%webappswebrootWEB-INFconfig 路径下 db.properties 文件,手动修改相关配置。

举例:一工程迁移到 MySQL8 数据库,升级 JAR 后 重新迁移到 MySQL5.7.28 数据库,回退工程,启动失败,前台显示连接不上数据库,将db. properties中方言的 8 改为 5 即可。

修改前:

hibernate.dialect=com.fr.third.org.hibernate.dialect.MySQL8Dialect

修改后:

hibernate.dialect=com.fr.third.org.hibernate.dialect.MySQL5Dialect