本地效果与服务器效果不一致问题处理经验分享
我们做报表通常情况下都是在本地PC机上调试没问题后再发布到服务器上,这个时候经常会出现本地明明调的很好的模板发布后就不对了!!!这边将我遇到过的所有本地效果与服务器效果不一致的问题及解决思路整理下来~~~~
当你发现同一张报表在本地环境中访问正常,但是发布到服务器后就不正常了,不管是哪边不正常,首先要做的一定是
A. 检查一下是不是同一张模板,最好是重新部署一下
B. 检查一下服务器的jar包与本地的jar包版本是否相同,一定要保证jar版本相同,同步后要重启服务器
检查方法http://www.finereporthelp.com/help/4/0/6/8.html
在确保上面两点都已经检查的情况下,若还有问题,再具体分析。
问题1. 部署后报表报错如nullpointer,或者其他非数据相关的错误
原因:最常见的原因是服务器jar与本地jar版本不同;其次是模板没有同步
纠错思路:
A、B两步
如果还有问题,则可能是bug,联系FR技术
问题2. 部署后报找不到数据连接
原因:服务器数据连接定义有问题,比如本地定义的数据连接名字用的test,报表数据集那边选择的数据库是test,而服务器为了规范,把数据连接名字改了如db,模板中数据集那边没改,还是用的test,就错了
纠错思路:
A、B两步
然后确认本地数据连接定义与服务器数据连接定义是否正确
再确认模板数据集那边使用的数据库是否正确
这里最好是测试环境与正式环境尽可能的相同,发布报表的时候数据相关的配置文件datasource.xml也要上传
问题3. 部署后报表空的,没有数据/下拉控件中没有数据等
原因:和上面一个问题类似,都是数据问题,往往都是本地环境中定义的数据连接、数据表与服务器名字等不一致导致,比如模板数据集被误删了,被传到了服务器上,数据没了
纠错思路:
A、B两步
确认数据连接定义对不对
确认模板中的数据集定义对不对
问题4. 部署后报表可以访问,但是与本地有差异
原因:通常都是模板不同步导致,比如改了一个小地方,以为自己覆盖服务器上的模板了,实际上还没传
纠错思路:
A、B 两步
问题5. 部署后报表工具栏不见了
原因:模板工具栏设置用的是服务器设置,而服务器上的没设置全局工具栏
纠错思路:
A、B两步
打开模板看一下工具栏用的为该模板单独设置还是采用的服务器设置
如果用的是服务器设置,则设计器远程登陆到服务器环境,看一下服务器设置工具栏有没有
部署的时候注意要把服务器配置config.xml也要传到服务器上
问题6. 部署后报表原来居中显示的变成居左显示了或相反情况
原因:和上面的问题类似,用的是服务器配置,而服务器配置中设置不正确
纠错思路:
A、B两步
打开模板看一下预览配置用的是单独配置还是采用服务器设置
一般可以直接改为单独设置,把显示位置改为如居中,再重新上传一下模板
如果还是不行,则可能是bug,联系FR技术
问题7. 部署后报表边框缺失了
原因:这个一般是服务器jar与本地jar版本不同导致
纠错思路:
A、B两步
jar同步后本地好的,服务器上还是有问题,则可能是bug,联系FR技术
边框问题FR这边处理的不完美,通常遇到这样的情况,和FR反馈后,自己也通过一些变通的方法解决,比如在临近的单元格加上边框
问题8. 部署后报表单元格自动调整行高效果不对
原因:这个一般是服务器jar与本地jar版本不同导致
纠错思路:
A、B两步
jar同步后本地好的,服务器上还是有问题,则可能是bug,联系FR技术
问题9. 部署报表后地图显示不出来
原因:部署的时候没把地图用到的内置数据库拷贝到服务器
纠错思路:
A、B两步
确认WEB-INF\resources\chartdb有没有拷贝到服务器
java报表软件:http://www.finereport.com/products/advantages