最新历史版本 :高级数据库查询 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

本文为第三方解决方案或非产品相关操作指南,仅提供给具备自主开发能力的用户使用。

帆软技术支持专注于产品本身的功能和问题,不负责本文档的维护和使用问题解答。

若您的场景方案与文档不完全一致,请移步帆软社区提问:问答



目录:

1. 概述编辑

1.1 版本

 报表服务器版本 插件版本 
11.0V2.14

注:JDK 版本:JDK 1.8 且小版本需在 JDK8u102 以上。

1.2 应用场景

FineReport 提供了简单方便的连接各方数据的能力,要求客户有基础的 SQL 使用知识,通常的使用场景是客户从其他地方获取测试有效的 SQL 语句粘贴到 FineReport ,比较麻烦。该插件提供了简化 SQL 输入,无缝对接 SQL 可视化编辑工具的能力。

1.3 功能介绍

  • 支持语法提示、自动补全(支持字段名)和代码美化。

  • 优化在 SQL 中加入帆软公式支持。

  • 支持可视化的 SQL Builder。(只支持 mysql mssql oracle 等常用数据库)。

  • 可视化生成参数过滤语句。

1.4 方案对比

对比项
当前方案新方案
方案简介
本文方法,通过安装「高级数据库查询」插件实现

本文不做介绍

FineDataLink 中进行数据处理,一些可视化算子,例如数据关联行转列列转行新增计算列,可帮您简化 SQL 语句

界面对比
示例
25.png

SQL 编辑器界面更加美观

示例
26.png
其他
该方案中,在 FineReport 中使用复杂 SQL 获得目标数据,可能会导致报表开发成本高、维护成本高、取数慢的问题

可使用 FineDataLink 可视化方式完成 数据加工 并进行业务注释,FR 报表数据集只需要保留 select *  from table 的方式获取结果指标数据,进而缩短 FR 数据集查询时间,提升报表展示速

2. 插件介绍编辑

2.1 插件安装

点击下载插件:高级数据库查询

设计器插件安装方法参照 设计器插件管理

服务器安装插件方法参照 服务器插件管理

2.2 操作方法

在插件商店安装「高级数据库查询」后,新建「数据库查询」类型的数据集,数据库查询界面会默认替换为高级数据库查询。

在菜单栏「服务器 -> 高级数据库」中取消勾选 使用高级sql编辑器直接替代fr自带编辑器 则可还原为FR默认的编辑器。

2.2.1 定义数据连接按钮

可直接点击点击下图的第一步骤按钮,进行添加定义数据连接。如下图所示:

2.2.2 查看数据连接下的数据表

①为数据源,②为数据连接刷新按钮,③数据连接下的数据表。

2.2.3 自动补全介绍

1685604579897546.png

  • 点击①所在的按钮,会跳出自动补全设置

  • 其中③设置自动补全快捷键

  •  ④,⑤添加高亮函数名和高亮关键字

  • ⑥,⑦可自定义添加自动补全函数名,自动补全关键字。

  • ②为是否开启自动补全

2.2.4 可视化 SQL 编辑器

点击①可进入可视化编辑器,如下图:

②为数据表,双击数据表可将此数据表的字段添加到⑤中。

点击⑤中的勾选,可选用此字段进行查询。

点击⑥可对⑤所选的字段进行重新命名,汇总,以及排序等。

③为设计界面,可直接点击进行选择操作。

④为语法选择界面,可写 SQL 语句进行操作,以及查看③操作过后的 SQL语句 。

2.2.5 参数注入

先书写参数语句如①,然后再点击②刷新显示注入的参数。可在③查看参数是否添加成功,以及参数添加默认值。

可视化插入参数注入

通过在②输入[列名],[参数名]并选择[控件类型]和是否[参数为空选择全部]来生成参数注入语句,生成规则如下(会当前语句末尾是否有where或and来判断是否生成and)

单选场景:

简单参数筛选 列名='${参数名}'

参数为空选择全部 ${if(len(参数名) == 0,"","and 列名 = '" + area + "'")}

多选场景:

简单参数筛选 列名 in ('${replace(参数名,",","','")}')

参数为空选择全部 ${if(len(参数名) == 0,"","and 列名 in ('" + replace(参数名,",","','") + "')")}

参数注入工具栏②默认显示,可以通过点击①来显示或隐藏

2.2.6 插入函数

点击①,进入②,使用 FR 的公式进行计算,点击确定后会将公式计算结果返回给你数据集直接使用,如③。

2.2.7 其他按钮介绍

①为SQL美化,②为使用分页 SQL 编辑,③为查看执行SQL,④为 SQL 预览按钮,⑤为高级数据库查询最大化。

报表美化点击后 SQL 如下图:

2.2.8 权限管理说明

权限管理用来配置在远程设计器环境中,哪些人能够看到哪些链接,哪些数据库表,以便于进行报表设计。

管理员配置权限:

  • 插件的安装,远程设计器,用户本地设计器均需要安装本插件

  • 以管理员的身份连接远程设计器

  • 先到设计器的 服务器--远程设计权限管理 菜单中配置哪些人能够连接到远程设计器

   

  • 然后到 服务器-高级数据库查询 菜单中给这些能连接远程设计器的人配置他们能看到哪些数据连接,哪些数据连接中的表

          左边会将有连接远程设计器权限的人列出来,右边是所有的数据连接以及连接下的数据表

          左边选中某人,右边选择他能看到的数据连接,数据表

          也可以多选用户,点击批量设置来批量授权

  • 配置好之后,用户以自己的身份连接远程设计器。他在做报表设计时,数据集选择数据库查询,界面中只能看到上面勾选的链接跟表



3. 预览效果编辑

3.1 自动补全

3.2 参数注入和插入函数

4. 注意事项编辑

4.1 操作问题

1)双击表名会显示字段名然后自动补全中可以使用字段名。

2)当自动补全不出现的时候按下 ctrl + space。

3)远程设计时,超管需要给非超管开通权限才能使用。详情请参见:给用户分配远程设计权限示例