报表如何同步用户数据集

1. 描述

企业职工人数是相当多的,并且由于人员的流动性,用户信息一直在变化,如果每次都通过手动添加修改,工作量将会很大。那么该如何实现动态的更新平台系统中的用户信息呢,使之随着数据库中的用户信息一起变化。

FineReport提供了同步数据集功能将已有的用户信息直接导入到决策系统中,并且与数据库中数据保持一致。

注:不同于手动添加用户中的导入服务器数据中的用户信息,开启了数据集同步后,用户信息将跟随数据集同步,动态改变、实时更新,即若数据库信息改变后,决策系统中的用户信息也会随之改变。

2. 步骤

2.1 将用户信息定义为服务器数据集

设计器中点击服务器>服务器数据集,安装FR后,默认有一个服务器数据集用户信息表,该表中包含了用户名、部门、职务、邮箱等等信息,服务器数据集添加过程请查看服务器数据集。

2.2 开启数据集同步

登陆数据决策系统http://ip:端口/appName/ReportServer?op=fs,使用管理员账号登陆。

点击管理系统>用户管理,进入用户管理界面,点击上面的设置按钮,进入用户设置界面,如下图:

2.3 配置同步数据集

在弹出的设置面板中,点击用户同步数据集选项后面的开启按钮,下拉出配置同步数据集选项,为数据决策系统的用户信息绑定字段,如下图:

注:同步数据集字段绑定的过程与手动添加用户中的配置过程一样。

注:如果需要同步部门间层级关系,则需要选择按照部门层级构建的树数据集,详见从数据库导入部门间层级关系。

密码加密

7.0.3版本为数据集的配置新增了密码加密方式,有三种加密方式:不设置密码加密,自定义密码加密,内置MD5加密。

自定义密码加密,即自定义一个密码加密类,加密方式在类中描述,并保存在%FR_Home%\WebReport\WEB-INF\classes文件夹中。

注:自定义加密算法,不管该算法的具体方式是什么,都必须继承FineReport的AbstractPasswordEncode类,并加上返回判断明文密码和密文密码是否一致结果方法才可行。

自定义加密示例请查看简单权限之密码加密。

注:数据集同步设置完成后要重新登录,原因是切换了登录的方式,原先的登录数据需要清除,如果不重新登录会产生很多无法估计的错误,比如多人登录时由于登录方式切换,各种参数的保存位置会发生混乱等。

2.4 查看效果

重新登录后,点击管理系统>用户管理>所有用户,就可以看到,数据库中的用户信息自动加载进来了:

同样“机构部门”也会根据数据自动生成。

注:所有用户及机构部门都是从数据库自动生成的,不能进行修改。

这时打开管理系统>权限管理,选择角色,可以看到在同步数据集中添加的角色也添加进来了,添加进来的角色背景为黄色,如下图:

2.5同步数据集可设置同步频率、手动立刻同步

现在同步间隔时间太短影响fs性能。同步时间设置长了之后,无法满足及时同步的需要。 因此现在界面提供一个手动同步的地方,可设置同步频率(单位s),有同步按钮,可立刻同步,如下图:

时间: 2024-12-28 00:26:51

报表如何同步用户数据集的相关文章

线程同步——用户模式下线程同步——Interlocked实现线程同步

1 线程同步分为用户模式下的线程同步和内核对象的线程同步. 2 3 当然用户模式下的线程同步实现速度比内核模式下快,但是功能也有局 4 5 6 7 8 //1.利用原子访问: Interlocked系列函数,关于Interlocked系列函数,我需要知道的是他们,执行的极快 9 10 //(1)首先是InterlockedExchangeAdd兄弟函数, 11 //第一个参数 Addend 代表进行操作数的地址, 12 //第二个参数 Value 代表增加的值,如果是想进行减法,传负数即可 13

线程同步——用户模式下线程同步——Slim读写锁实现线程同步

1 //Slim读/写锁实现线程同步 2 SRWlock 的目的和关键段相同:对同一资源进行保护,不让其它线程访问. 3 但是,与关键段不同的是,SRWlock允许我们区分哪些想要读取资源的线程(读取者线程) 4 和哪些想要更新资源值的线程(写入者线程).让所有读取者资源在同一时刻访问共享资源应该是 5 可行的,这是因为仅仅读取资源并不存在破坏数据的风险.只有当写入者线程想要对资源进行更新时才需要同步. 6 这种情况下,写入者线程应该独占资源访问权:任何线程,无论是读取还是写入者线程,都不许访问

线程同步——用户模式下线程同步——关键段实现线程同步

1 //2.使用关键段实现线程同步 2 使用时必须有以下几个步骤 3 //(1)必须先定义 CRITICAL_SECTION 结构 4 CRITICAL_SECTION g_cs; 5 //(2)初始化关键段 CRITICAL_SECTION 6 InitializeCriticalSection(&g_cs); 7 //(3)在线程中调用 8 DWORD WINAPI ThreadFunOne(PVOID pvParam) 9 { 10 EnterCriticalSection(&g_c

Office 365 之同步用户显示名称不正确之解决方法之一

一家客户目前正在转型使用office 365,考虑到目前企业内部还有exchange 服务器,因此计划逐步进行迁移,目前完成相关ad 目录同步,以及启用Lync Online的启用,因此相关所有用户的office 365 E3 许可证都是没有启用exchange 许可证. 今天发现一个问题,同步现有的用户的所有display name 正确,但是如果是修改一个已有的用户的显示名称,发现始终为以往老的用户显示名称.这样在lync中查看就非常难看. 因为用户是通过directory sync 同步完

你可以不懂数据分析,但请一定收藏这个神器!

企业需要数据分析吗?别说是企业了,就算是开一个麻辣烫店都需要数据分析,分析选址.人流.价格促销.因为业务是真是存在的,所有数据也是真是存在的. 很多企业对数据分析有极大的需求,但现实往往是: 做业务的不懂技术不会工具,数据分析依赖于IT部,每次交上来的都是报表,需求也需求得不到及时响应. IT也很郁闷啊.业务只会说要什么结果,从不说过程.不懂业务的IT要去调研,确认业务逻辑,然后取数画报表.在业务眼中,取数=数据分析,哪有那么简单. 与此同时,企业想做数据分析,但IT硬件跟不上,数据残缺不完整.

润乾集算报表的脚本数据集

润乾集算报表提供了一种新的数据集类型--脚本数据集,同意用户在数据集中完毕数据的进一步计算和加工,为报表提供数据源支持. 以下详细来看一下脚本数据集. 什么是脚本数据集? 集算报表的一种数据集类型.能够在脚本数据集中编辑计算脚本(脚本遵循集算器语法)完毕数据计算和处理,将加工后的结果集为报表提供数据源支持,从而使报表工具获得数据源再计算的能力. 脚本数据集编辑器中即无法像集算器编辑器一样添加删除行列.也无法进行可视化调试,所以脚本数据集适用于计算脚本比較简单的情况. 怎样使用脚本数据集? 脚本数

[Java][activiti]同步或者重构activiti identify用户数据的方法

同步或者重构Activiti Identify用户数据的多种方案比较 相信每个涉及到用户的系统都有一套用户权限管理平台或者模块,用来维护用户以及在系统内的功能.数据权限,我们使用的Activiti工作流引擎配套设计了包括User.Group的Identify模块,怎么和业务数据同步呢,这个问题是每个新人必问的问题之一,下面介绍几种同步方案,最后总结比较. 如果你在考虑直接使用Activiti引擎的Identify模块作为系统的用户数据管理模块,您真是奇才-开个玩笑 方案一:调用IdentifyS

框架 day57 BOS项目练习(流程定义/实例管理,bos用户角色同步activiti用户表组表)

BOS项目笔记第11天 内容: 1.提供新的json文件,修改系统菜单(加入工作流的菜单) 2.流程定义管理(查询.部署流程.查看png流程图片) 3.流程实例管理(查询.查看运行状态) 4.将bos系统中的用户数据和角色数据同步到activiti的用户表和组表 1.    提供新的json文件,修改系统菜单(加入工作流的菜单) 2.    流程定义管理 第一步:创建一个ProcessDefinitionAction,提供list方法,并注入流程引擎对象  查询 @Controller @Sco

报表性能优化方案之多数据集实现层式报表

1. 问题描述若报表使用的数据量是上百万条的话,觉得报表展现的速度慢,可以使用层式报表来提高报表展现速度.但由层式报表章节可以得知,层式报表必须是单数据集,若是多数据集的模板且数据量又很大,想要提高报表的查询速度要如何实现呢? 2. 实现思路在定义数据集时通过使用数据库本身的行序号或者使用数据库函数生成行序号(即行号)并且在where条件中通过页码参数使得行号在一定范围内显示,点击自定义的上一页下一页按钮时重新传入页码参数取出相应的数据. 注:SQL Server2000无法生成行号,因此需要定