1. 概述
1.1 版本
报表服务器版本 | JAR | 插件版本 | 功能变动 |
---|---|---|---|
10.0.11 | 2020-11-27 | V1.0.0 | - |
1.2 应用场景
安装此插件后用户可以连接 MySQL8 数据库。
1.3 功能介绍
本文仅适用于 10.0.11 之后的报表服务器,10.0.11 之前的报表服务器若要连接 MySQL8 数据库请参见:[平台]MySQL数据连接
注:不支持在设计器连接。
2. 操作方式
2.1 安装插件
点击下载插件:fr-plugin-connection-mysql8-1.0.0.zip
服务器安装插件方法参照:服务器插件管理
2.2 配置信息
驱动 | URL | 驱动下载链接 | 支持数据库类型 |
---|---|---|---|
com.mysql.cj.jdbc.Driver | jdbc:mysql://ip:port/<数据库名>?useSSL=false&serverTimezone=UTC | 插件内置 mysql-connector-java-8.0.20.jar 驱动包,无需下载 | 8.0.20 |
用户如果想要连接 MySQL8 其他小版本,可以更换驱动包进行尝试,详情请参见:3. 替换驱动包
URL说明:
增加参数「&serverTimezone=UTC」是为了防止时区导致的数据库乱码问题,其中 UTC 为世界标准时,即零时区。若用户使用的系统、报表服务器等使用的时间是北京时区也就是东八区,此时会出现在 FineReport 数据预览界面的数据时间比数据库中时间快八小时,可修改参数为 &serverTimezone=GMT%2B8 ,其中「GMT%2B8」为北京时间东八区。即可保证数据库中时间字段与 Finereport 数据预览界面时间字段一致。
2.3 连接步骤
1)管理员登录数据决策系统,点击「管理系统>数据连接>数据连接管理」,点击「新建数据连接」,在所有选项下选择MySQL8,如下图所示:
注:如果非管理员用户想要配置数据连接,需要管理员给其分配管理系统下数据连接节点的权限,具体操作请查看 数据连接控制
2)按照本文 2.2 章节的配置信息,输入对应的数据连接信息。其中高级设置可选填,详情请参见:[平台]数据连接 。输入信息后界面如下图所示:
若出现中文乱码和日期错乱(填报&预览)的情况:
可以修改 URL 为:
jdbc:mysql://localhost:端口号/<数据库名>?generateSimpleParameterMetadata=true&useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
serverTimezone=Asia/Shanghai -- 设置以"上海时区"为准
characterEncoding=utf8 -- 编码转化
有关 MySQL 数据库中文乱码问题详情请参见:MySQL数据库中文乱码
3)点击「测试连接」,若弹出「连接成功」提示框,则表示成功连接上数据库,如下图所示:
4)点击「保存」,就新建完成一个 MySQL8 的数据链接,如下图所示:
3. 替换驱动包
若用户使用的是 MySQL8 的其余小版本,可以尝试更换一下驱动包。
由于 MySQL8 小版本繁多,更换驱动包后也不能全部保证连接无误,所以有条件的用户建议直接使用 MySQL 8.0.20 版本数据库。
3.1 操作步骤
1)关闭设计器工程。
2)从 MySQL官网 下载对应当前 MySQL 小版本的连接驱动包。以 MySQL 8.0.17 版本为例,下载驱动包 mysql-connector-java-8.0.17.jar
3)删除%FineReport_10.0%\webapps\webroot\WEB-INF\plugins\plugin-com.fr.plugin.connection.mysql8-1.0.0下的「mysql-connector-java-8.0.20」文件,并将下载的驱动包拷贝到该路径下
3)换好驱动后,重启设计器工程,对照 2.2 节、2.3 节连接数据库即可。