当前位置: 首页 > 知识库问答 >
问题:

JasperReports参数在iReport中工作,但在JasperReports服务器上失败(II)

能旭
2023-03-14

我有一个与[JasperReport参数在iReport中工作但在JasperServer上失败]帖子中描述的问题非常相似的问题。

报告在iReport环境中使用预览选项正常工作,但在JasperReports服务器中失败

注释表明iReport没有在JR服务器中创建InputControl。因此,我验证了服务器包含正确的InputControl(这显然解决了他们的问题)。

输入控件称为sk串行选择:

ID: ic_sk_serial
Name: sk serial selection
Type: Single Select Query
Mandatory: false
Read Only: false
Visible: true
Query resource: 
    From repository (pointing to *q_sk_serial* see below)
Value and Visible columns:
    Value column: id
    Visible query columns: serialnr  

名为q\U sk\U serial的输入控件查询(使用字母数字序列号列表填充输入控件,项目是唯一的):

select id,serialnr from "public"."serials" order by serialnr;  

参数名称:

ic_sk_serial  

报表查询:

select * from "public"."datas" datas where datas."serialnr" like $P{ic_sk_serial}   

在我的例子中,输入控制似乎在两种环境中都能正常工作(在iReport预览版和JasperServer中):我填充来自同一数据库的项目列表;我在iReport中以及JR Server中看到了该下拉列表。

在iReport中,下拉列表在报告参数中返回正确的选定值,从而导致正确的报告。在JasperReport Server中,我只收到一条“报告为空”消息。所以我倾向于认为报告参数在JasperServer中没有正确传递。

硬编码“输入控制”产出值,显示预期报告。

旁注:我正在与JasperReports服务器4.5.0兼容的模式下使用iReport 4.7.1。

如果有人遇到同样的问题,我会很高兴听到的。

如何在JR服务器中进一步调试报表执行?

兼容性模式是否容易导致该问题?

输入参数类型呢?我使用返回字符串的查询。然而,我的输入数据类型是文本(最接近字符串匹配)。我的参数类型是java.lang.string.这有意义吗?

共有2个答案

贝浩歌
2023-03-14

在我看来,jasper报表中有两种类型的参数,包括:报表参数和数据集参数。

首先,您必须创建两个参数,然后将Dataset中的一个映射到Report中的一个。

我遇到了与你相同的问题,从而解决了我的问题。

淳于嘉树
2023-03-14

实际上,这是一个简单的bug:

我刚刚发现:

value column: id  

应该是

value column: serialnr  

尽管如此,我还是不明白为什么报告在预览模式下工作?这么大的错误应该在预览时失败不?

无论如何,感谢大家导致我的错误;)

 类似资料:
  • 由于某种未知原因,JasperServer无法将参数从输入控件传递到报告。 我使用在iReport中工作的输入参数,用iReport 4.6(甚至尝试了兼容模式4.0.1)定义了一个jrxml报告。 当我在jasperserver 4.5上部署报告时,得到的响应是“报告为空”。 没有参数的同一个报告也可以很好地工作。 自然地,我用单选查询定义并附加了输入控件。 输入控件中的值列和可见列与我在jrx

  • 我在JasperReports服务器上遇到了一些问题。我需要直接在服务器上打印报表。 我先查看报表,然后单击打印,就会打开打印机对话框。选择打印机后,我也可以打印报告。有什么想法吗?

  • 以下代码在我的localhost上运行完美,但在我的实时服务器上显示了以下错误 警告:move_uploaded_file(.../uploads/76948893.jpeg):无法打开流:没有此类文件或目录 警告:move_uploaded_file():无法将'/tmp/phppxvRs8'移动到'…/上传/76948893.jpeg' 它所做的很简单,它获取来自 html 表单的数组 [“p

  • 主要内容:1 JasperReports 报表参数声明,2 JasperReports 报表内置参数,3 JasperReports 参数的示例1 JasperReports 报表参数声明 填充报表的主要输入有 :报表模板、参数和数据源。本章将介绍参数,下一章将讨论数据源。 参数是对象引用,它们在报表填充操作期间传递给报表引擎。不能通过数据源传递的数据,可以通过参数传递。作者姓名、报告标题等数据可以通过参数传递。JasperReports 模板或 JRXML 模板可以有零个或多个参数元素。 参数

  • 我正在自学servlet,找到了一些非常好的教程,并在Eclipse Neon EE中取得了巨大成功。(非常基本的servlet,只提供一个简单的静态网页) 在安装Eclipse Neon EE之前,我安装了Tomcat standalone,并对其进行了测试,得到了regulat apache Tomcat页面。我找到的教程还指导我如何在Eclipse中设置tomcat服务器。他们还向我展示了如

  • 你好,我有一个我开发的dll。我在使用dll导入的网站中使用此dll。当我通过visual studio运行网站时,一切都正常。但当我用iis运行它时,它没有错误。请参阅所附代码。谢谢在这里输入图像描述