1. 概述
服务器数据集是对应于整个报表工程的,更换模板或新建一个工作簿,都可以用服务器数据集中的数据。
服务器数据集可在数据决策系统平台和 FineReport 设计器中添加。设计器中添加服务器数据集和数据决策平台中添加服务器数据集是互通的,即在设计器中创建服务器数据集,平台中也会自动添加新增的服务器数据集;反之亦然。
本文仅介绍如何从设计器添加服务器数据集,如需从平台添加,请参见:[平台]服务器数据集。
2. 添加数据集
在 FineReport 设计器中,点击「服务器>服务器数据集」,会弹出服务器数据集界面,点击,选择要添加的数据集类型,即添加。如下图所示:
注1:所有定义的服务器数据集信息都保存在 FineDB 的 fine_conf_entity 表中,FineDB 数据连接请参考 报表内置HSQL数据库FineDB
JAR包 版本在 2021-3-17 之后的设计器和服务器,当多个用户都连接了同一个服务器进行远程设计时,同一时间内,「服务器数据集」功能只能有一个人编辑操作。当一个用户编辑此功能时,其他用户将看到该功能显示「已锁定」且无法编辑,如下图所示:
点击锁标志,将会弹窗显示:已由其他用户编辑锁定中,为防止数据丢失,请稍后再试。如下图所示:
当该用户结束编辑后,将不再锁定,允许其他用户编辑。
3. 数据集类型
设计器支持添加的服务器数据集类型:SQL 数据集、程序数据集、内置数据集、文件数据集、存储过程、关联数据集、树数据集、JSON 数据集、JSON 程序数据集
服务器数据集和普通数据集的添加方法一致,支持添加的数据集类型请参见下表:
数据集类型 | 简介 | 文档教程 | |
---|---|---|---|
SQL 数据集 | 数据源是数据库中的表数据 | 数据库查询 | |
程序数据集 | 通过 AbstractTableData 抽象类来读取数据源 | 程序数据源 | |
内置数据集 | 新建一个类似数据库表的原表,可作为模板的数据源来设计报表 | 内置数据集 | |
存储过程 | 存储过程,就是直接将存储过程作为数据集,不需要在数据库查询而是去调用存储过程 | 存储过程 | |
关联数据集 | 在不同的数据源进行筛选取数;访问不同的数据库;利用来自不同的数据源形成一个数据集 | 关联数据集 | |
树数据集 | 数据源是有层级关系的 SQL 数据集 | 树数据集 | |
JSON 数据集 JSON 程序数据集 | 将 JSON 格式的数据转变为报表中可以使用的数据表 | JSON 数据集 | |
文件数据集 | 文本数据集 | 数据源是一系列的 TXT 文本文件 | 文本数据集 |
Excel 数据集 | 数据源是一系列的 XLS 文件 | Excel 数据集 | |
远程 Excel 数据集 | 通过 URL 方式访问 JSP 页面,将对应的 Excel 文件作为数据集 | 远程 Excel 数据集 | |
XML 数据集 | 数据源是一系列的 XML 文件 | XML 数据集 |