iReport+JasperReports Server开发过程的Troubleshooting

2023-12-08 00:32

本文主要是介绍iReport+JasperReports Server开发过程的Troubleshooting,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文涉及的内容:主要是实现一个subreport的masterreport成功在JasperReports Server(下文简称为JRS)上生成报表。

首先是使用iReport分别设计masterreport和subreport,并preview成功;然后再将这两份报表模版在JasperReports Server上连接数据源,并最终生成报表。


问题1: No suitable driver found for jdbc:mysql

背景:在使用iReport设计报表模版,使用到subreport的时候,一般都是设计好subreport之后,将subreport嵌入masterreport使用,然而在嵌入subreport的时候,需要定义一个连接,比如: java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname","username","passwd") ,但是最后生成报表preview的时候会报错No suitable driver found for jdbc:mysql。

问题解决:

这最主要还是个driver的问题,关于这个,则必须要将mysql-connector.jar放到正确的位置:
可以参考:http://community.jaspersoft.com/questions/534375/multi-database-issue-lets-see-if-someone-can-help

其中主要的内容为:
OK, here is the solution for Ubuntu 10.10 with netbeans 6.8 and 6.9.1, plus iReport, please post here where you find other solutions as well, as this applies on Windows as well. 
Forget the classes folder, the driver has to be located in this folder to have it working correctly:
/usr/lib/jvm/java-6-sun-1.6xxxx/jre/lib/ext (xxx for whatever revision you have).

我的jar包为: mysql-connector-java-5.1.7-bin.jar。关于这个目录地址,肯定不完全一样,视具体情况而需灵活运用。



问题2:JRS创建MySQL数据源时抛出Driver找不到的异常

背景:当使用iReport设计完两个报表模版的之后,需要在JasperReports Server上实现这个功能。首先需要创建数据源,但是在JRS创建数据源之后,当尝试连接测试的时候,会显示连接失败,运行reports的时候就会报错:com.jaspersoft.jasperserver.api.JSExceptionWrapper: com.mysql.jdbc.Driver。也就是在找不到MySQL的驱动,而它默认是会安装postgresql的驱动的。

问题解决:

关于这个问题,官网上也有一些解答:http://community.jaspersoft.com/questions/540839/jasper-42-commysqljdbcdriver-problem

将mysql-connector-5.1.7-bin.jar放入tomcat目录下的lib文件夹下,也就是目录/opt/jasperreports-server-5.0.1/apache-tomcat/lib,并使用脚本重启JasperReports Server(没有重启的时候,也试过,不行,可能JRS只是在启动的时候加载驱动jar包,而不是动态的加载)



问题3:subreport从iReport迁移到JRS时出错

背景:在iReport中,设计好了加有subreport的主表,并且preview成功,希望转移到JRS生成报表。JRS实现:创建两个数据源,创建两个report,master和sub,分别连接一个数据源,master包含sub,最终生成一个表。如果直接按普通流程操作的话,会报错:net.sf.jasperreports.engine.JRRuntimeException: Parameter "DATABASE_TIMEZONE" does not exist.

问题解决:

JRS实现

Step1. 上传两个数据源,masterCon和subCon,然后上传subreport,并将它与subCon绑定。

Step2. 在本地打开masterreport.jrxml文件,关于其中subreport的配置,部分需要修改:
<defaultValueExpression><![CDATA[ "repo:subreport"]]></defaultValueExpression>
<subreportExpression><![CDATA[ "repo:subreport"]]></subreportExpression>

注意红色的书写格式,引号和冒号。

Step3. 上传masterreport,并上传subreport.jrxml。如果选择subreport.jasper文件的话。会报错:com.jaspersoft.jasperserver.api.JSExceptionWrapper: java.io.UTFDataFormatException: Invalid byte 1 of 1-byte UTF-8 sequence.

Step4. 成功运行。



转载清注明出处。

本文档更多出于我本人的理解,肯定在一些地方存在不足和错误。如果你对这方面感兴趣,并有更好的想法和建议,请联系我。

我的邮箱:shlallen@zju.edu.cn

新浪微博:@莲子弗如清 



这篇关于iReport+JasperReports Server开发过程的Troubleshooting的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/467867

相关文章

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务