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

Jasper reports JasperReports参数在iReport中工作,但在JasperReports服务器(II)上失败,jasper-reports,jasperserver,Jasper Reports,Jasperserver,我有一个非常类似的问题,在后描述 报告在iReport环境中使用预览选项正常工作,但在JasperReports服务器中失败 这些注释表明iReport没有在JR服务器中创建InputControl。因此,我验证了服务器包含正确的InputControl(这显然解决了他们的问题) 输入控件称为sk串行选择: 名为q_sk_serial的输入控制查询(使用字母数字序列号列表填充输入控制,项目是唯一的): 参数名称: ic_sk_serial 报告查询: select * from "publ

我有一个非常类似的问题,在后描述

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

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

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

名为q_sk_serial的输入控制查询(使用字母数字序列号列表填充输入控制,项目是唯一的):

参数名称:

ic_sk_serial  
报告查询:

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

在我的例子中,输入控制似乎在这两种环境中都能正常工作(在iReport preview和JasperServer中):我填充来自同一数据库的项目列表;我在iReport中看到了预期的dropdownlist,但在JR服务器上也看到了

在iReport中,下拉列表返回报表参数中正确的选定值,从而生成正确的报表。在JasperReports服务器中,我只收到一条“报告为空”消息。因此,我倾向于认为报告参数没有在JasperServer中正确传递

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

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

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

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

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


输入参数类型如何?我使用一个返回字符串的查询。但是,我的输入数据类型是文本(与字符串最匹配)。我的参数类型是java.lang.string。这有意义吗?

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

我刚刚发现:

value column: id  
应该是

value column: serialnr  
不过,我不明白为什么报告在预览模式下工作?这么大的错误应该在预演中失败吗


无论如何,多亏了大家,才导致了我的错误;)

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

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


我遇到了与您相同的问题,因此解决了我的问题。

“输入控件似乎在两种环境中都能正常工作”iReport中不存在输入控件。因此,不清楚您的意思是什么。您没有给出任何关于是否看到错误的指示。如果您这样做,您会看到哪些错误?也许从Tomcat的catalina.out日志文件开始。@mdahlman:关于输入控制:在iReport中,您可以在存储库中添加输入控制资源(右键单击任何文件夹),这就是我所做的。从JasperReport服务器web界面也可以看到同样的可能性。两者都对我有用:输入控件被创建,并以适当的内容出现在屏幕上。关于错误:我只收到消息“报告为空”。但是,对所选值进行硬编码会返回数据I expect.toc,您是否在iReport中的报告中将这些输入控件定义为参数?当您右键单击并在存储库中添加输入控件时,实际上是将它们添加到JasperReports服务器,而不是iReport。我明白了。是的,您可以使用JRS或iR创建输入控件。无论哪种情况,它都存在于JRS中。很明显,它不起作用了。参数是否与输入控件匹配(区分大小写)?发布参数化查询。
value column: id  
value column: serialnr