历史版本8 :LogDB 数据库的定时抽取 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本

11.0

1.2 问题描述

FineReport 11.0 采用了帆软全新开发的 Swift 引擎,以便更好的记录分析 LogDB 数据库的性能,但是目前 Swift 引擎未完善对其他数据库的支撑。所以面临这样的现状:

  • FineReport 11.0的 LogDB 数据库无法直接迁移

  • 直连内置的 LogDB 数据库进行增强分析,有 SQL 语句的限制,有些 SQL 写法不支持。

1.3 解决方案

用户可以通过定时调度的定时填报任务,来实现和 LogDB 数据库迁移一样的效果。

2. 示例编辑

2.1 获取 LogDB 数据库数据

打开设计器,点击「服务器>定义数据连接」,新增一个 JDBC 数据连接,设置信息如下表所示:

选项内容
数据库Others
驱动器com.fr.swift.jdbc.Driver
URLjdbc:swift:emb://default(Mac、Windows、Linux通用)
用户名和密码

设计器设置页面如下图所示:

333.png

2.2 新建本地数据库

对照 2.1 节查看到的 LogDB 数据库的表结构,在自己的数据库建立对应的表结构,表结构请参见:报表日志 LogDB 数据库(2.3节)

本文仅示例在本地 MySQL 数据库下fine_record_execute表的建立,如下图所示:

注:由于不同版本的LogDB数据库的字段结构不完全相同,因此请尽量参考需要抽取的工程的LogDB数据库创建,确保一致性。

2.3 数据连接本地数据库

在设计器中建立数据连接,连接 2.2 节创建的迁移数据库,如下图所示:

注:不同数据库对应的连接属性值请参照 数据连接支持范围 。

1568009124193656.png

2.4 新建填报模板

查询内置 LogDB 数据库中的fine_record_execute表数据,并新建如下图所示的报表:

32.png

2.5 设置条件属性

用户可根据自己的需求,调整各个字段的展示值,下文仅对time字段进行调整

如下图所示,time字段保存的不是标准日期格式。

image.png

time字段条件属性设置新值,值为TODATE($$$),条件是1=1,保证永远执行,如下图所示:

22.png

2.6 设置字段过滤

如需提升性能,可对 time 字段进行过滤,只查询最近一天的数据。过滤公式为TODATE($$$) >= NOW() - 1,如下图所示:

2.7 设置报表填报属性

点击模板>报表填报属性,新增内置SQL,将单元格与迁移数据库的字段绑定,如下图所示:

注:请勿勾选「未修改不更新」按钮,否则无法填报数据到数据库。

55.png

2.8 建立定时调度任务

点击服务器>报表平台管理,使用管理账号登录数据决策系统,点击管理系统>定时调度,新建LogDB定时抽取任务

image.png

执行频率根据用户需求自行定义,如下图所示:

image.png

选择制作的填报模板,类型选择填报,如下图所示:

image.png

至此,LogDB 数据库的定时抽取设置就完成啦。