1. 版本编辑
报表服务器版本 |
---|
10.0 |
2. 描述编辑
2.1 问题描述
FineReport 8.0 和 9.0 版本可以将 LogDB 数据库迁移到自己的数据库中进行管理和增强分析。但10.0版本不支持直接迁移。
这是由于 FineReport 10.0 采用了帆软全新开发的 swift 引擎,以便更好的记录分析 LogDB 数据库的性能,但是目前 swift 引擎未完善对其他数据库的支撑。所以面临这样的现状:
FineReport 10.0的 LogDB 数据库无法直接迁移
直连内置的 LogDB 数据库进行增强分析,有 SQL 语句的限制,有些 SQL 写法不支持。
2.2 解决方案
用户可以通过定时调度的定时填报任务,来实现和 LogDB 数据库迁移一样的效果。
3. 示例编辑
3.1 获取 LogDB 数据库数据
点击服务器>定义数据连接,新增一个 JDBC 数据连接,设置信息如下表所示:
选项 | 内容 |
---|---|
数据库 | Others |
驱动器 | com.fr.swift.jdbc.Driver |
URL | jdbc:swift:emb://default(Mac、Windows、Linux通用) |
用户名和密码 | 空 |
设计器设置页面如下图所示:
3.2 建立本地数据库
3.2.1 新建表结构
对照 LogDB 数据库的表结构,在自己的数据库建立对应的表结构,表结构请参见:报表日志 LogDB 数据库(2.3节)
本文仅示例在本地 MySQL 数据库下fine_record_execute表的建立,如下图所示:
3.2.2 数据连接本地数据库
在设计器中建立数据连接,连到这个迁移数据库,如下图所示:
注:不同数据库对应的连接属性值请参照数据连接支持范围
3.3 建立填报模板
3.3.1 模板设计
查询内置 LogDB 数据库中的fine_record_execute表数据,并新建如下图所示的报表:
3.3.2 调整字段的展示值
用户可根据自己的需求,调整各个字段的展示值,下文仅对time字段进行调整
如下图所示,time字段保存的不是标准日期格式。
将time字段条件属性设置新值,值为TODATE($$$),条件是1=1,保证永远执行,如下图所示:
3.3.3 设置填报属性
点击模板>报表填报属性,新增内置SQL,将单元格与迁移数据库的字段绑定,如下图所示:
3.4 建立定时任务
点击服务器>报表平台管理,使用管理账号登录数据决策系统,点击管理系统>定时调度,新建LogDB定时抽取任务:
执行频率根据用户需求自行定义,如下图所示:
选择 3.3 节制作的填报模板,类型选择填报,如下图所示: