我使用iReport工具设计了一个报告,并将其上传到JasperReports Server到我的本地服务器pc.在iReport和JasperReports Server中,报告工作正常,但是当我从Yii 1调用报告时,它无法正常工作.
它返回空白页而不是数据.我找不到问题.
这是我的yii 1代码(在Yii中使用YiiJasper Extension):
$re = new JasperReport('/entsol/Reports/AcAccounts',
JasperReport::FORMAT_PDF, array(
'pAccountTile' => $pAccountTile,
'pBranch' => $pBranch,
'pFromDate' => $pFromDate,
'pToDate'=>$pToDate,
)
);
$re->exec();
echo $re->reportToPDF(); //All pages
通过使用上面的代码我得到空白页而不是数据.
我如何得到我的问题?
解决方法:
要使用yii-jasper extension,您需要JasperServer< = 5.5.x,PHP< = 5.3或PHP> = 5.4.9和Yii> = 1.14
确保拥有所有报告参数:两者中的相同数字(报告和Yii调用),正确/相同的顺序,正确的值.对于值,请注意IReports中的Java datatypes(整数,大整数,字符,字符串,日期等)以及它们与PHP值的等价性.两个参数名称也必须相同(确切名称,大写和小写).
JasperServer日志文件可以为您提供有关运行报表的现有问题的一些反馈.在JasperServer安装目录中找到它(/ your-jasperserver-install-path / apache-tomcat / webapps / jasperserver / WEB-INF / logs).
如果持续存在,请尝试直接在jasperserver中创建数据源,然后使用选项“来自存储库的数据源”再次上载报告,而不是任何其他类型的数据源.要在存储库中创建数据源,请登录JasperServer,找到数据源文件夹,右键单击并创建数据源.