FineReport使用中遇到的常见报错及解决办法(一)
这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、address pool is full:
含义:地址池满,连接数超过并发数上限。
解决办法:
若在FineReport的连接池属性的设置中,已将最大连接数设置得过大,还出现如上的报错,此时通常就是数据库进程(processes)达到上限导致的,可增大数据库中的连接数目来解决此问题。如下在数据库中修改最大连接数:
Select count(*)from v$process查看当前的连接数
Select valuefrom v$parameter where name='processes'查看数据库允许的最大连接数
Alter system setprocesses =300 scope = spfile;修改最大连接数
重启数据库,再查询最大连接数,数字改变就表示已修改成功。
说明:当客户释放数据库连接时,先判定该连接的引用次数是否已超过规定值,假如超过就删除该连接,并判定当前连接池内总的连接数是否小于minConn(最小连接数),若小于就将连接池布满;假如没超过就将该连接标记为开放状态,可供再次复用。可看出正是这套策略保证了数据库连接的有效复用,避免频繁地建立、释放连接所带来的系统资源开销。
2、使用了未注册的功能:
含义:
未注册的版本是可以试用所有功能的。注册的lic是勾选过功能点的,如果制作的模板使用了未注册的功能就会报这个错误。一般容易分辨,有的客户可能禁掉报错界面,这样测试是好的,一放到服务器上就出不来,没有报错界面就不太容易发现了。
解决办法:在已注册购买的正式环境中,如果没有购买某些功能,则该功能是不可用的。
若您想知道您购买的版本中有什么功能,可通过打开Web服务器,然后在浏览器中输入:http://localhost:8075/WebReport/ReportServer?op=fs进入FR系统界面,点击管理系统>注册信息>功能列表就可以看到此版本支持哪些功能,如下图:
3、提示注册:
含义:使用了未注册版本。
解决办法:注册常见问题处理方法:http://www.finereporthelp.com/help/9/4.html
4、session timed out:
含义:session超时。
解决办法:设置session粘滞,通过配置文件的配置,会在集群的服务器间建立联系,当服务器收到请求,发现这个请求的会话不是自己产生的,那么它会根据请求中的信息,判断出这个会话是由哪台服务器产生。接着它会将这个请求通过内网转发给相应的那台服务器去处理。这样相当于就实现了J2EE集群的会话粘滞的功能。具体操作可参数文档:服务器集群配置步骤。