帆软注册成功的前提下,通过tomcat 部署到linux服务上之后,访问报表总是报错,重启多少次tomcat也并没什么卵用,最后经过高人指导解决该问题.在此记录一下.
报错内容如下:com.fr.third.org.hibernate.HibernateException: IOException occurred reading a binary value
解决方式,将报表服务器文件夹下的finedb 中的某个内置数据库表删除,接下来就讲解如何操作,其实很简单,只是一开始很懵逼!
1. 帆软服务器版本10.0
2. tomcat8
3. linux centos7
4. 本地 win10
finedb 所在目录:FineReport_10.0\webapps\webroot\WEB-INF\embed
为了避免不必要的问题.请事先备份这个文件夹,万一搞不定 还能还原不是?
将该文件夹拷贝到本地,咱们打开之后里面没几个文件,那是因为我们看不见,坑货玩意,
注意:将该文件夹下的db.lck 文件删除,如果有这个文件的话,没有就不用管了,因为有这个文件的话,下面我们用第三方软件的时候有可能会打不开,报错
你就直接从服务器下载下来就行了,想打开里面的数据库 需要使用特定的软件,接下来讲解软件的使用
这个工具叫做 dbeaver ,下载地址是:https://dbeaver.io/download/
记住,下载我标红的那个, 可以直接安装,zip 那个不行,安装的时候因为java版本的问题, 各种鸡毛的报错,用标红那个直接下载,安装一路下一步即可.
安装完成之后,打开该软件,这货就长这样:
然后开始我们的骚操作啦!
-----------------------------------------------------------------一个华丽的分割线-------------------------------------------------------------------
第一步:
类名:com.fr.third.org.hsqldb.jdbcDriver
URL模板:jdbc:hsqldb:file:{folder}\db
然后添加文件那里选择的路径就是 fine-third-10.0.jar的那个地方,找到对应的地方选中,点击打开即可
第二步:
第三步:
路径:就是刚刚从服务器拷贝下来的finedb 的路径
用户名:sa
密码不填
完成即可
第四步:看这个表是不是有垃圾数据
第五步:将FINE_CONF_XMLENTITY表清空 ctrl+enter 执行sql
第六步:
将刚刚拷贝下来的finedb 再放回服务器的原有位置,这时候内置数据库的这个表的垃圾数据就已经被我们处理了!
然后再次重启tomcat ,访问报表, 成功!!!
-------------The End-------------------