05.4.1-5.1升级后报错及注意事项

编辑
  • 文档创建者:doreen0813
  • 浏览次数:1405次
  • 编辑次数:24次
  • 最近更新:doreen0813 于 2019-09-06
  • 1、数据更新

    1. 内置DEMO更新

               若升级工程包含4.1的内置DEMO,升级后进行数据更新,会报错如下,该问题不影响5.1正常使用,为4.1内置DEMO的配置bug,忽略即可。


    2、数据准备

    1. SQL: orderby、注释语句

    SQL数据集中若使用了orderby 、注释等5.1不支持的语句,若非ETL表,需要在升级后的5.1工程中修改;若为做了ETL操作的表,因为升级后仅显示为结果集,因此需要在升级前的4.1工程中做修改,去掉不支持语句;

    2. 字段类型改变

    若在4.1中使用直连数据库的数据表,在升级到5.1后,表预览失败显示空白的情况,可以比较升级后该表的字段类型与4.1中的对应表的字段类型。若出现不一致的情况,可能是直连的数据库中数据进行过字段类型的改变。比如下面的costtime字段在升级后的5.1工程中识别为了数值字段:


    但是原始的4.1工程中的字段类型为文本字段。若为数据库中字段类型的变化,我们需要在5.1工程中对该表点击编辑,进入表编辑后重新获取数据进行预览;

    3. ETL表名称过长

    升级后,仪表板字段显示均为空,如下图。可去4.1工程下查看升级前该仪表板使用的是否为ETL表,使用的字段是否过长,超过100后可能由于名称太长导致配置无法保存。该问题需要在升级后的5.1工程中,手动重新添加该表,并重做该仪表板。


    4. logdb、finedb取数方式变化

    5.1与4.1连接logdb、finedb的取数方式不同,在升级后,需要重新配置,5.1可联系技术支持获取连接取数方式;

    5. 手动指定关联

    升级后,在5.1中若组件显示为空组件,则可去该组件对应的4.1工程中,查看是否组件添加的是手动指定关联的字段。目前这种情况升级至5.1暂时不支持,需要为添加的字段在业务包中添加关联,再至组件中手动添加指定字段;

    6. 数据迁移、同步数据集

    升级前,在4.1工程做了数据迁移或者同步数据集;升级到5.1后,相关的配置内容均仅会写到本地的embed文件夹中,若使用其他数据库,需要在5.1中重新配置数据迁移和同步数据集,5.1可参考配置外接数据库用户同步数据集

    7. 直连自助数据集切换

    5.1版本由于组件不能从多张表选择字段,这些组件在升级兼容后,会自动生成新的自助数据集。而5.1版本直连的自助数据集性能比较差,此时我们建议优先使用抽取数据的方式,即在升级以后将直连数据库的自助数据集改为数据抽取。

    此处提供了批量转换直连为抽取的工具:ajax.html,下面我们介绍一下该工具的使用方法。

    • a. 在浏览器打开该html文件,输入对应的URL、token和params,如下图:

      1.png

      URL:该数据决策系统的对应URL,例如:http://localhost:37799/webroot/decision/v5/api/conf/update/table

      token:从数据决策系统访问Cookie获取的fine_auth_token,如下图:

      params:isSpider=false

    • b. 输入对应值以后,点击下方的submit按钮,执行完成后出现如下图的404报错,则表示执行成功,数据计算模式即切换成功。              

    3、仪表板

    1. 管理员仪表板都没了

    若升级后,管理员登录系统,发现仪表板都没了。此时,可检查升级前的4.1工程,看../WEB-INF/resources/目录下是否有privilege.xml文件;若4.1工程中没有该文件,则在升级后也会丢失管理员信息,导致管理员仪表板都没空。

    解决方案:

    可启动升级前的4.1工程,重新配置上系统管理员信息,再进行工程升级操作;

    2. 大量仪表板、组件为空

    升级后发现系统中大量的仪表板都为空,大量仪表板中都为空白的组件。

    解决方案:

    • 此时,首先检查工程之前是否有正常抽取数据,即是否进行过数据更新操作;

    • 若抽数正常,则继续检查升级前的4.1工程../WEB-INF/resources/fineConf下的各项配置,检查各个xxxxxConfig和xxxxxAnalysis是否内容一致,配置是从配置从Analysis文件中取,因此需要确保xxxxxAnalysis配置正确;若不一致,可将xxxxxConfig内容复制到xxxxxAnalysis中,再进行升级;


    3. 数值默认分组方式变动

    4.1维度中数值字段默认分组方式是自动,升级后在5.1中,维度中数值字段默认分组方式是自定义,此处需要在升级后的工程中手动调整;

    升级前4.1中:


    升级后5.1中:

     

    4. 仪表板布局逻辑

    4.1的布局逻辑和5.1的布局逻辑不一致,需要手动调整一下,5.1的仪表板布局逻辑可参考仪表板布局;

    5. 通用查询控件过滤的数据不一致

    问题现象:

    在升级前后,查看仪表板时,发现经过通用查询控件过滤出的数据不一致,如下图:



    此时,可以去升级后5.1中的通用查询控件中,查看拖入的过滤字段,并查看组件中拖入的字段,确认两者间是否存在关联关系。

    比如,上述例子中,销售出库明细表与销售订单回款汇总表做的这两张表是N:1的关联,组件拖入的是自助数据集关联继承的和销售订单回款汇总表的N:1,与销售出库明细表没有关联;而控件拖的是销售出库明细表的字段;因此控件的过滤字段与组件的字段没有任何关联,在升级后的5.1中,通用查询控件未成功实现条件过滤效果,导致了数据与升级前不一致。

    解决方案:

    在通过查询控件中,重新选择与组件使用数据有关联的自助数据集字段即可;比如上述例子中,我们为通用查询控件选择自助数据集中对应的字段,如下图:


    6. 计算指标公式不合法

    若计算指标公式中存在==null,在升级后会提示该公式不合法,如下图,需要将其手动修改为==0。


    7. 预览报错超多最大行限制

    升级后,仪表板在预览的时候报错:out of max row size limitation,如下图:


    解决方案:

    此种情况,可以去管理系统>系统管理>常规中,修改数据访问量的值,如下图:


    8. 过滤后指标为空

    问题现象: 

    升级后,在5.1中分组表显示数据为空,如下图,但是该组件使用的表在业务包中数据显示正常,且在升级前的4.1工程中数据也显示正常。



    此时,可以查看该分组表中的指标是否添加了过滤条件,若添加了过滤条件,如下图:

            

    检查在该过滤条件下的指标是否存在,若不存在,则在5.1下,分组表中就不会显示过滤后指标为空的字段。

    解决方案:

    此时,我们可以为该组件新增一个没有过滤条件的字段,添加至结果过滤器中,如下图:


    注:目前升级工具默认升级至2019.3.5的5.1stable版本,不支持直接添加字段不勾选。在3.28之后的5.1版本中,可直接支持添加字段不勾选;

    9. 默认排序方式变化

    4.1中默认按照中文排序,而5.1中默认为ASCII排序,工程在升级后都会按照5.1的逻辑进行排序,若需调整,可至管理系统>系统管理>常规下,开启中文排序,重启FineBI并重新进行数据更新。


    10. 明细表展示数据量

    在升级后的5.1工程中,明细表默认展示1000条数据,升级后需要手动调整展示的数据量。在仪表板的明细表编辑页面,在组件样式>格式>总行数处,调整展示数据量,如下图,且5.1中编辑状态下最多展示10000条,预览时抽取数据和实时数据仍然展示设置的总行数。

              

    11. 未勾选字段

    在4.1仪表板维度和指标中未勾选的字段,升级后默认会添加至5.1仪表板的结果过滤器中,如下图,升级后可视情况进行调整。


    12. 计算指标中的记录数

    5.1中计算指标公式中不再支持添加记录数字段,对于4.1中已添加的计算指标需要修改公式,可参考COUNT_AGG使用;

    13. 过滤结果区别

    当时间维度过滤条件为“不属于”,且不选择过滤值时,4.1显示全部数据,5.1则显示空;

    当时间维度过滤条件为“不属于”,4.1的过滤结果不包含空值,5.1则包含;

    14. 树标签控件

    在4.1中,树标签控件支持完全不相关的表放在一起,这种情况升级到5.1是选一个单表来升级字段,在此表找得到字段的就会展示,找不到就不会展示;

    15. 模板跳转

    老一些版本的4.1,BI模板的id是可以重复的(同用户的模板不重复)。这种情况在升级后,可能出现跳转无法找到对应的模板实际应该是哪个的情况,这种情况需要在5.1中重新配置模板跳转,可参考组件跳转

    16. 过滤组件值同区间、上一区间

    在4.1中为指标字段添加的,属于过滤组件值(日期控件)的相同步长的上一区间和同一时间段,如下图,在5.1中不支持;

    同样,该种情况下按照组件值的同一区间、上一区间,在升级后也不支持;

    17. 分组表合计

    分组表中的合计,记录数按字段记录,这里的合计默认在升级后,为自动合计,可能和4.1直连的合计值不一致;

    18. 横向滚动条

    5.1页面无横向滚动条,4.1原来存在横向滚动条的模板升级后无横向滚动条,可能组件大小变小了,但是相对位置不变。

    需要在升级后视情况调整组件布局位置,5.1的仪表板布局逻辑可参考仪表板布局;

    19. 全局样式

    升级后,仪表板原先为深色,升级后变为浅色了。此种情况下,可以查看4.1工程中,该仪表板背景是否勾选了图片,但没有上传图片。

    此种情况下载4.1中读的是预设样式的主题色深色,升级后,主题色为浅色,效果发生了变动。需要在5.1中手动切换一下仪表板样式

    20. FR模板地图组件

    若在升级前的4.1工程中挂出了FineReport的模板,且该模板包含了地图组件,则在升级后,需要手动将4.1工程目录%FineBI%/webapps/WebReport/WEB-INF/assets/map/geographic中的json文件拷贝至5.1工程%FineBI%/webapps/webroot/WEB-INF/assets/map/geographic中;

    21. 百分比仪表盘颜色

    百分比仪表盘在4.1中自动为三个颜色区间,指标值在哪个区间图形就会显示对应的区间颜色;升级至5.1后,指标字段会添加至颜色属性中,会根据指标值自动划分5个区间,所以升级后的仪表盘有5个色阶,如下图。若不想要五个颜色区间,可至组件中颜色属性下手动调整;


    22. 未生成dashboards文件夹

    在升级之后,发现在../webroot/WEB-INF下没有生成用于存储模板的dashboards文件夹,且报错如下:

    [ERROR]Special char prohibit! com.fr.decision.webservice.exception.general.SpecialCharProhibitException: Special char prohibit! at com.fr.schedule.feature.service.v10.ScheduleTaskService.addTask(Unknown Source) at com.fr.decision.v10.upgrade.action.schedule.ScheduleUpgradeAction.transferScheduleTask(ScheduleUpgradeAction.java:211) at com.fr.decision.v10.upgrade.action.schedule.ScheduleUpgradeAction.processUpgrade(ScheduleUpgradeAction.java:108) at com.fr.decision.v10.upgrade.action.AbstractUpgradeAction.upgrade(AbstractUpgradeAction.java:45) at com.fr.decision.v10.upgrade.UpgradeContext$3.run(UpgradeContext.java:184) at java.lang.Thread.run(Thread.java:748) [ERROR]Special char prohibit! com.fr.decision.webservice.exception.general.SpecialCharProhibitException: Special char prohibit! at com.fr.schedule.feature.service.v10.ScheduleTaskService.addTask(Unknown Source) at com.fr.decision.v10.upgrade.action.schedule.ScheduleUpgradeAction.transferScheduleTask(ScheduleUpgradeAction.java:211) at com.fr.decision.v10.upgrade.action.schedule.ScheduleUpgradeAction.processUpgrade(ScheduleUpgradeAction.java:108) at com.fr.decision.v10.upgrade.action.AbstractUpgradeAction.upgrade(AbstractUpgradeAction.java:45) at com.fr.decision.v10.upgrade.UpgradeContext$3.run(UpgradeContext.java:184) at java.lang.Thread.run(Thread.java:748)

    解决方案:

    该问题是由于定时调度任务的名称中有非法字符导致的,需要进入管理系统>定时调度,将任务名称中的非法字符删除,比如空格。定时调度任务名称允许输入的字符为:字母、汉字、数字和“_”、“.”。

    4、权限

    1. 普通用户创建的业务包

    在4.1中普通用户创建的业务包,升级至5.1后,需要管理员将业务包的管理权限重新分配给该普通用户,参考业务包权限管理

    2. 数据连接权限

    在4.1中分配给普通用户的数据连接权限,升级至5.1后,需要管理员重新分配。数据连接权限分配可参考数据连接控制

    3. 链接形式挂出的仪表板

    在4.1中以链接形式挂出的仪表板,升级到5.1中不再支持。升级后5.1工程目录中不显示的仪表板,去4.1中查看是否是以链接形式挂出的,若为链接挂出则在5.1中重新配置,参考目录管理

    4. 普通用户分享给我的模板

    5.1普通用户分享给我的模板,不受用户权限影响,4.1会受普通用户权限影响,升级后按照5.1的逻辑展示;

    5、其他

    1. 数据迁移插件

    4.1安装过数据迁移插件的工程,在升级至5.1后,需要将该数据迁移插件删除。5.1中不需要该数据迁移插件了,可至%FineBI%/webapps/webroot/WEB-INF/plugins中删除;

    2. 工程启动不了

    若升级后,工程启动不了,可至工程目录%FineBI%/webapps/webroot/WEB-INF/lib下查看是否有Hive的连接驱动jar包:hive-jdbc-1.2.1000.2.5.3.0-37-standalone.jar,若包含该jar,可参考Hadoop Hive数据连接重新下载驱动替换原先的jar包进行连接;

    3. 单点登录

    在4.1中若做过单点登录的,在升级后的5.1工程中,需要先将单点登录删除,否则工程启动后无法登录成功。单点登录删除的操作为:

    修改finedb里面的fine_conf_entity表,将AppearanceConfig.loginType改为0;(修改操作参考如何使用第三方管理软件连接报表内置hsql数据库finedb

    若在5.1中还需要设置单点登录,可联系帆软技术支持重新设置;

    4. 用户无法登录

    升级后,数据决策系统除了管理员外,其他用户都无法登录。可能原因是使用了同步数据集且开启MD5加密,而4.1 版本 FineBI 内置的 MD5 加密方式不区分密文大小写,5.1 版本 FineBI 适配的 MD5 加密方式区分大小写。FineBI 升级后会内置一个小写MD5的 class,如果用户使用的是大写密文,升级后就不能登录,需要手动替换大写 class:

    1)点击下载class 文件:MD5UpperCasePasswordValidator.rar

    2)将该class文件放入工程目录%FineBI%\webroot\WEB-INF\classes\com\fr\decision中;

    3)进入管理系统>用户管理>全局设置,在用户同步数据集下选择加密方式,重新选择上述添加的类并点击保存,触发同步后,用户即可登录;


    附件列表


    主题: 入门指南
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]