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

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

redis群集简单部署过程

《redis群集简单部署过程》文章介绍了Redis,一个高性能的键值存储系统,其支持多种数据结构和命令,它还讨论了Redis的服务器端架构、数据存储和获取、协议和命令、高可用性方案、缓存机制以及监控和... 目录Redis介绍1. 基本概念2. 服务器端3. 存储和获取数据4. 协议和命令5. 高可用性6.

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

SQL Server数据库迁移到MySQL的完整指南

《SQLServer数据库迁移到MySQL的完整指南》在企业应用开发中,数据库迁移是一个常见的需求,随着业务的发展,企业可能会从SQLServer转向MySQL,原因可能是成本、性能、跨平台兼容性等... 目录一、迁移前的准备工作1.1 确定迁移范围1.2 评估兼容性1.3 备份数据二、迁移工具的选择2.1

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,