罗列下FR使用中遇到的常见报错及解决方法

楼主
我是社区第1380位番薯,欢迎点我头像关注我哦~
这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。

出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志(6.5的日志在设计器的菜单栏有窗口视图日志)。下面简单罗列下常见的问题,大多文档上都有提到的。

address pool is full:
地址池满,连接数超过并发数上限。
文档

使用了未注册的功能:
未注册的版本是可以试用所有功能的。注册的lic是勾选过功能点的,如果制作的模板使用了未注册的功能就会报这个错误。一般容易分辨,有的客户可能禁掉报错界面,这样测试是好的,一放到服务器上就出不来,没有报错界面就不太容易发现了。
文档

提示注册:
注册常见问题处理方法:http://www.finereporthelp.com/help/9/4.html
文档

session timed out:
session超时。
文档

没有返回数据集:
在存储过程中的操作语句之前加上set nocount on 或者在数据集exec调用存储过程的前面加上这句。
当SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。
如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。
文档

模板文件损坏,或者打开模板没有反应:
FR的cpt模板由设计器做出源文件是一组组的标签括起来的语句。像HTML的结构那样,可以用文本编辑器打开。有些客户的模板可能做的比较BT,或者高低版本乱捣鼓,或者正操作着出现什么DT的情况导致模板不完整。一般报错会告诉出错的位置。655版本可以用bak文件还原下,7.0就不太好办,可以尝试填补部分语句主要是标签来抢救部分模板。

找不到模板:
找不到模板可能的原因看看是不是URL的问题,直接在模板中写中文的话,有些浏览器是会自动转码的(记得chrome、搜狗好像是),有些不会,比如IE。
文档

java heap space、stack overflow:
这个问度娘。常见的原因是模板做的很复杂,用了上百字段,上百行的sql语句,各种嵌套,尤其要注意有没有死循环。也有可能是服务器端的问题,比如tomcat最大内存太小了用了默认的64M。

数据集定义中有下拉复选框参数出问题:
下拉复选框控件返回值默认情况下是数组,参数取到的字符串是不带引号的(所以在数据集定义的sql语句中调用字符串类型的参数的话要手动加上单引号才行)。多个值用in,sql的in语句参数是字符串数组,每个都要求带单引号。所以要转化下,把控件的返回值改成字符串,间隔符用','。
文档

本地预览的效果和服务器上的效果不一样:
首先检查jar包等是不是有问题。也有可能是嵌入平台后出现的问题。
文档

平台管理忘了密码或者登不进:
报表平台管理只有一个账号,用户名和密码放在web-inf/resources/privilege.xml中。655密码没加密,7.0密码是加密的,密码在<rootManagerPassword>标签中,把里面改成<![CDATA[___0022]]>密码就是一个1.用这个密码登进去再重新设置。

图表中文乱码(方框):
这个Linux环境下装了oracle后容易出现这样的情况,方框是缺少中文字体的缘故(常见英文字体各种环境应该都有的)。安装对应的中文字体即可解决。
大块头的数据库搞坏字体环境并不少见,上次在win7里面装domino,好多软件的字体都被搞了,重装了系统的中文字体重启了计算机才恢复正常。

数据集预览的时候中文乱码(全问号):
乱码有几种情况:一种是方框,这个是字体的原因,画不出来汉字。一种是问号,这个是编码的问题,比如mysql数据库默认的编码是latin1,库里面没有中文对应的编码,就解析不了中文,解决方法是改变编码,比如把mysql的编码改成utf8或者gbk。这里要注意下的是,数据库有服务器编码,客户端编码,具体的某一个数据库和具体的表也有编码,只有在建数据库建表的时候选对了编码才行(没选的话就用的默认的)。

repeated column width is larger than paper width:
这个看这段话应该是很好理解的。比如做的模板页面宽度只能放开5列,结果给6列做了重复和冻结,这个逻辑上肯定是说不过去的。
文档

模板打不开,拒绝访问:
可能是win7操作系统对文件有权限。

安装设计器后无法预览报表(404报错):
文档

对象不支持此属性或者方法、XXX未定义:
文档

THREE未定义:
自己没碰到过没解决过。

日期比较导致出错:
我测试用的是自己搭的sqlserver2005.2012/01/01这种格式的日期和FR上的2012-01-01这种格式的是不能比较的,直接从数据库中读取的日期格式都比较长,不光是年月日,而且读不出来,不知道是为什么,预览时可以看到的。然后我加了个在条件属性中加了个left(todate($$$),10)转化了一下就解决了,todate转化成了-连接,前10是年月日。

由一个单元格扩展出来的行高不一致(填报预览):
但是分页预览却是没有问题的。最后发现时因为设置了数据字典。设置了数据字典的单元格其真实值一行显示不了的,就换行了,所以变宽了。难道是填报预览时计算需要空间的时候用的是真实值计算的?解决方法,注意点,拉宽点就好了。

使用程序数据集出错:
654和655都有个问题是加载了有问题的class文件作为程序数据集,下次就打不开了,655是设计面板单元格界面没有了。7.0版本没这个问题。
程序数据集class文件必须放在class com fr data目录下。 编译好了后的class名也是不能修改的。

自定义数据字典显示等号问题:
FR的像自定义数据字典这种地方,跟单元格还有提示定义框一定,如果不是‘=’号开头是当做字符串处理,‘=’号开头当做公式处理。所以单写一个等号就是空白的。显示等号的话用="="

一个单元格内容过多报错:
临时解决方法,直接合并多个单元格可以增加输入内容。

长长的省略号。。。。。。。。。。。。

分享扩散:

沙发
发表于 2012-8-4 17:48:07
总结的很好:)
板凳
发表于 2012-8-5 08:44:34
来自手机
还不错,谢谢
地板
发表于 2012-8-8 09:18:09
总结的不错,赞一个!
5楼
发表于 2012-8-8 10:25:13
赞一个,收藏了
6楼
发表于 2012-8-16 22:52:42
派上用场一次
7楼
发表于 2012-8-31 18:35:37
总结的不错呀
8楼
发表于 2012-9-4 17:30:19
:'( 现在才看到。。。
9楼
发表于 2012-9-5 07:32:47
10楼
发表于 2014-10-22 12:52:56
来自手机
收藏了,楼主辛苦!
11楼
发表于 2014-11-20 10:26:13
给力,赞一个,收藏了慢慢看
12楼
发表于 2015-7-2 14:49:16
早点看到就好了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表