目录:
1. 概论编辑
我们在平时的报表运行过程中会遇见各种各样的问题,下面列举了一些常见的问题、报错信息、原因和基本解决方法!
2. 问题及解决方案编辑
原因:地址池满,连接数超过并发数上限
解决方案:在管理系统>系统监控下面,看到当前系统在线用户数,然后再比较注册信息页面里的Concurrency,
判断是否超过购买的并发数,从而选择减少并发人数或者增大最大并发数
解决方案:
注:IE8, 360较容易出现此状况
解决方案:设置小于列宽就行了。
原因:直接预览模板出错,缺少FRDemo数据连接。
解决方案:添加FRDemo数据连接。
原因: 一般发生在linux下, 处理图片时需要本地的jvm x-server的支持.
解决方案:启动java时加上参数:-Djava.awt.headless=true例如:我们在启动tomcat时在启动命令行里面加上这个参数就可以了.
对于weblogic 可以设置在/export/home/xxx(用户名)/weblogic/wlserver_10.3/common/bin/commEvn.sh中
之后添加下面两句:
对于 websphere 则进入应用程序服务器 > server1 > 进程定义 > Java 虚拟机
一般 JVM 自变量 :-Dfile.encoding=GBK -Ddefault.client.encoding=GBK -Djava.awt.headless=true
(2)具体报错:com/fr/general/logRecordTime
原因:放错了applet包导致的, 比如把applet放到里lib目录等等.
解决方案:将applet放到%FR_HOME%\WebReport目录下
(4)具体报错:sun/io/UnknownCharacterException
原因:这个类是jdk1.7导致的
解决方案:用1.7的jdk可以解决报错.
解决方案:看报错里是哪个manager导致的, 一般
DatasourceManager -> datasource.xml
FunctionManager -> functions.xml
ConfigManager -> config.xml
CustomConfigManager -> customconfig.xml
WidgetManager -> widgets.xml
注:不一定是用户主动触发的, 网络不稳定时也有可能出现.
原因:jdbc在连接数据库时候会发送测试语句SET OPTION SQL_SELECT_LIMIT=DEFAULT
这在mysql5.6以下版本是可以的 ,但是5.6不再支持SET.
解决方案:升级驱动到对应数据库版本即可
原因:Excel导入的时候部分图片可能会解析失败, 或者获取的宽高有问题.
注:如果页面上需要的内容没问题, 那么可以无视这个报错
原因:tomcat下没有temp目录, 或者是temp目录写入权限不够
解决方案:在tomcat的安装目录下创建这个目录就好了
原因:驱动问题
解决方案:查看数据库驱动是否正常. 如果确定驱动是有的, 再看jdk与驱动是否匹配
原因:可能是jdk1.8的bug,
解决方案:安装内置jdk1.7的设计器windows_FineReport-CN_jdk1_7.exe。
原因:当前数据库不支持分页查询行式引擎
解决方案:换个数据库比如MySQL, SQLServer, Oracle等等.
原因:连不上应用商店, 不影响使用.
原因:没找到自定义函数, 一般都是设计器本地的cpt拷到服务器上, 自定义函数没拷过去.
原因:数据库连不上, 连接池满了或者超时之类的.
解决方案:点击服务器>定义数据连接 ,如下图所示,点击 ,弹出 编辑框,调整最大活动连接数
解决方案:删除plugins目录下的老的功能点记录插件. 停止维护了.
原因:打开表单的时候出错了, 可能是因为用了某个插件而当前设计器没装该插件等等. 具体要看更详细的日志
解决方案:修改fs里的编码设置为UTF-8
解决方案:连不上数字签名服务器了, 检查网络是否可以ping通以及数字签名所在服务器是否正常, 看不出来问题就重启下.
原因:内存溢出了
解决方案:重启后观察. 如果频繁内存溢出建议安装防宕机插件
原因:一般是因为设计器jetty默认8075被占用了
解决方案:点击文件>选项>高级,换一个设计器端口, 重启.
原因:fs里开启了加密狗注册, 但是没有安装对应的驱动.
解决方案:update: 2016-11-17之后的jar已修复该bug.
原因:一般是用了自定义控件, 或者某个插件里的控件, 当前运行环境里找不到.
解决方案:先用任务管理器查看进程, 是不是有designer.exe, 有就关掉再启动试试.
如果还是不行, 打开bin目录的designer.bat, 在最后一行添加pause, 保存后启动designer.bat, 查看报错.
原因:远程设计, 模板打开报错, 打开一些简单的模板试试, 如果简单的可以, 只有部分不行, 考虑是不是两边jar不一致, 插件不一致.
一般是因为网络原因导致连接不到商城, 直接浏览器里访问商城看看能不能访问到. http://shop.finereport.com
原因:可能是上一次打开的模板里面用了当前环境里不存在的插件元素
解决方案:Ctrl + N新建一张模板后, 退出设计器.再次启动.
原因:同一个电脑上开了tomcat和设计器, 两个工程用的同一个缓存目录, 关闭设计器后会删掉缓存目录, 导致tomcat里图片消失.
解决方案:各自配cache.xml来指定不同的缓存目录.具体方法可参考:修改缓存路径
原因:程序数据集class里自己定义了参数, 会跟界面冲突, 出于兼容原因, 优先选择使用class里设置的.
解决方案:删掉程序数据集class里的参数, 直接用界面上的. 代码中不去setParameter, 直接getParameter即可.
原因:web端预览的时候, 浏览器可以自动撑开div, 而打印导出的时候, 是严格收到页面大小限制的, 所以会截断.
解决方案:把截断的单元格设置成分页可以断开.
解决方案:看堆栈, 上图堆栈就是某个单元格用了公式形态, 但是公式没获取到对应的数据集. 具体哪个单元格, 可以通过二分法确定.
先排查下两边jar是否一致, 如果一致, 看看有没有条件在服务器上装一个设计器, 直接localhost看看会不会失败.
如果localhost是好的, 通过ip不行, 可能是网络问题. 在连接失败的时候, ping服务器ip看看网络响应延迟.
原因:更新了jar, 没更新自适应插件.
原因及解决方案:确认下客户浏览器信息, 目前chrome下不支持applet打印, 只支持flash, pdf以及本地打印.
ie下建议安装32位jre, 并且在控制面板 - Java设置 - 安全, 把http://localhost:8075加入进去.
具体报错信息:Canot run program xx, error=12, Cannot allocate memory
解决方案:修改下jvm的内存配置, 初始内存调小点,详细方法可参考FR性能测试注意事项
解决方案:用editplus之类的软件打开XXX.cpt, 找到倒数第二行 <DesignerVersion DesignerVersion="IAA"/>,将其删除.
注:如果模板里用了新版本的一些属性, 那么在老的设计器里强行打开会报错.
原因:weblogic下, war包部署是不解压的, 所以我们会把所有的xml拷贝到临时目录进行增删改.
解决方案:可以通过访问op=fr_base&cmd=evaluate_formula&expression=jvm()查看缓存路径, 删掉缓存路径的.FineReport80文件夹再部署.
原因:一般都是上一次tomcat没有彻底关掉就再次启动导致端口被占用了.
3. 常见报错代码编辑
原因:直接用editplus等软件, 查看cpt里xml内容; 如果是FREncrypt开头的, 那可能模板是加密的;
如果里面是空白的, 那么就是模板损坏了, 可能是保存的过程中服务器挂了或者被重启了, 客户端远程网络中断了等等;
(5)错误代码:34
报错:an internal error occurred
原因:安装exe时会出现的报错,一般是因为下载下来的安装文件有损坏, 不完整.
解决方案:在官网用浏览器下载的exe就正常.