1. 配置 MySQL 外接数据库移失败编辑
1.1 导入数据失败 could not execute statement
1.1.1 问题现象
在 配置外接数据库 时配置 MySQL 数据库,导入数据失败,页面前端报错:could not execute statement;查看%FineBI%/logs/fanruan.log,报错为:Table 'finedb.QRTZ_PAUSED_TRIGGER_GRPS' doesn't exist,如下图所示:
1.1.2 原因分析
查看 MySQL 的数据引擎,登录MySQL数据库,在mysql>提示符下输入show engines 命令查看,显示为 MyISAM 数据引擎,该数据引擎为 MySQL 默认引擎,不支持事务,也不支持外键。且 FineBI 不支持 MyISAM,后续不考虑兼容,因此需要为MySQL切换数据引擎为InnoDB;
1.1.3 解决方案
1)在 MySQL 数据库配置文件 my.cnf 中的 [mysqld] 下面加入default-storage-engine=INNODB 一句,保存;
2)重启 MySQL 服务器:mysqladmin -u root -p shutdown或者service mysqld restart。
3)登录 MySQL 数据库,在mysql>提示符下输入show engines命令。如果出现 InnoDB |DEFAULT,则表示设置 InnoDB 为默认引擎成功。
1.2 数据库编码错误
1.2.1 问题现象
配置 MySQL 数据库报错,日志如下所示:
1.2.2 原因分析
数据库编码错误。
1.2.3 解决方案
查看用户建 finedb 数据库的语句:
create database finedb发现没有加约束条件,将语句改为:
create database finedb DEFAULT CHARSET utf8 COLLATE utf8_bin; 。
1.3 导入数据失败 java.lang.Exception: migrate table com.fr.config.entity.Entity failed
1.3.1 问题现象
导入数据的时候报错:java.lang.Exception: migrate table com.fr.config.entity.Entity failed,如下图所示:
1.3.2 解决方案
修改 MySQL 的my.ini文件 ,字符集改为character-set-server=utf8,如下图所示:
1.4 Linux 下导入数据失败
1.4.1 问题现象
导入数据的时候报错:The table ‘fine_conf_entity’ is full,前端报错如下图所示:
查看%FineBI%/logs/fanruan.log,报错如下图所示:
1.4.2 解决方案
进入 MySQL 的配置文件/etc/my.cnf,在[mysqld]下添加/修改两行:
tmp_table_size = 256M
max_heap_table_size = 256M
系统默认是 16M ,修改完后重启 MySQL 。
2. 配置 Oracle 外接数据库失败编辑
2.1 配置外接数据库 Oracle 报错 oracle could not execute statement
2.1.1 问题现象
配置外接数据库 Oracle 报错 oracle could not execute statement。
2.1.2 原因分析
数据库模式有误。
2.1.3 解决方案
模式填 thin 就会报错,将改成用户名即可。