配置外接数据库postgreSQL,重启工程后连接失败,无法登陆

image.png

部署完,在设置界面配置外接数据库,转移成功,后来没有配置什么参数,kill掉tomcat,再启动就不行了,tomcat的catalina.out日志看了报错,后来找到下面的文件

image.png

把密码字符串中的“\n”改成“\\n”,tomcat启动起来可以登录了,但是进入决策页面后,怎么又显示外接数据库未配置,什么鬼?

image.png

FineReport PitcherBen 发布于 2022-10-17 18:20 (编辑于 2022-10-20 14:27)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
PitcherBenLv3见习互助
发布于2022-10-18 16:00(编辑于 2022-10-20 14:20)

找了帆软官方技术团队,基本确认是BUG了,应该是FineReport11对于PostgreSQL的支持问题,后续等官方回复了处理办法,将会更新在下方评论栏,最后,愿世界和平!

2022/10/20:

【解决方案】先恢复成内置finedb,卸载插件,在finedb里找到fine_conf_entity表。里面有一条记录 id=PGSQLMigrationConfig.init ,正常初始值应该是false,然后重新安装插件,字段值会变成true,这个时候再重新迁移外置库

【补充说明】以上解决方案为官方技术团队研究后给出的,经过操作已解决问题,后又经过多次本地虚拟机部署测试,发现使用官方的Tomcat集成包部署FineReport11时,fine_conf_entity表下的id=PGSQLMigrationConfig.init这个字段的value值每次默认都是true(正常初始值应该是false),导致每次配置外接postgreSQL都是失效的,重启工程就无法识别。

【总结】第一种方法,在进行官方Tomcat集成包部署服务时,部署完成启动tomcat后,进入内置的finedb库看一下这个字段的值,如果是true就有问题,要手动改成false,在进行外接postgreSQL数据库配置操作,进行转移,如何连接内置库请参考:

FineDB 数据库简介- FineReport帮助文档 - 全面的报表使用教程和学习资料 (fanruan.com)

连接完成后,可以自己通过设计器做一个填报报表,将这个值拉出来改掉;

第二种方法就是在部署完成后,先安装PostgreSQL外接数据库插件,然后把这个插件删掉(不是禁用),然后再安装一次这个插件,这样也行,等于更新了这个配置表的状态,然后再配置外接postgreSQL数据库进行转移。

【PS】知识有限,为何这样不理解,难道是原本内置的参数和插件参数不一致?(瞎猜的)

最佳回答
0
zsh331Lv8专家互助
发布于2022-10-17 21:16

-- 重置下外接数据库的密码,原密码可能经过加密处理,出现了\n字符,导致异常;

————————————————

  • PitcherBen PitcherBen(提问者) 重置了也不行,我都重置成123456这种了,他生成的文件里面,password后面还是带\\n,无解啊,这到底是不是BASE64的加密,搞不懂哪的问题(\\掀桌)
    2022-10-18 09:10 
  • zsh331 zsh331 回复 PitcherBen(提问者) 可能和tomcat版本有关系。刚才看了下你解密后的密码,确实是76个字符后存在换行;切换tomcat/jdk版本重新部署或修改tomcat属性参数值。-- 针对这个问题去问问度娘吧。-- https://blog.csdn.net/myloverisxin/article/details/117530365
    2022-10-18 09:35 
  • PitcherBen PitcherBen(提问者) 回复 zsh331 哈哈哈哈,我滴妈,官网下载的Tomcat集成包部署的,也这么坑吗,我研究一下,目前官网的包Tomcat是8.5.79,JDK是1.8.0_191
    2022-10-18 10:09 
  • 1关注人数
  • 604浏览人数
  • 最后回答于:2022-10-20 14:27
    请选择关闭问题的原因
    确定 取消
    返回顶部