Jasper报告具有2个不同的数据库(Oracle和postgresql)

问题描述 投票:0回答:1

我在这里寻求您的帮助,所以我的问题是:

我已经用jasperrerport 3.7.6创建了报告(基于oracle的查询)。现在我正在尝试将同一报表与PostgreSql数据库一起使用,并且在某些特定的oracle函数(例如(NVL,sysdate ...))中遇到错误,并且我现在不想更改查询(除非我拥有)。

在postgresql数据库上执行时,有什么东西可以用来进行自动转换吗?

oracle postgresql jasper-reports ireport jaspersoft-studio
1个回答
0
投票

如果两个数据库中都没有匹配的函数,请考虑创建自己的函数来“模拟”原始函数。

例如,对于Oracle的SYSDATE

create or replace function f_sysdate return date is
begin
  return sysdate;
end;

我不了解PostgreSQL,但是-您将在该数据库中执行相同的操作。函数名称必须相同:F_SYSDATE

然后,在JasperReports中,您将调用自己的函数,而不是调用“原始函数”。

select ename, job, sal, 
       f_sysdate              --> this
from emp
where deptno = 10

这样做,报告将在两个数据库中均有效。没错,您必须付出一些初步的努力,但是-将来可能会有所收获。

© www.soinside.com 2019 - 2024. All rights reserved.