动态查询执行器

时间:2014-06-16 06:35:10

标签: oracle jasper-reports sybase

我正在尝试编写支持多个数据库的 JasperReports 报告(Sybase / Oracle)。在Sybase中,您可以在Oracle中编写简单的sql,大多数时候您需要使用plsql,例如在使用过程或函数时。因此,您需要2种或更多的查询语言。有没有办法通过传递参数来报告或编写自己的Query Executor Factory来更改查询语言。任何帮助都是合适的。

1 个答案:

答案 0 :(得分:0)

是的,您可以将SQL作为参数传递给报告填充引擎,但您需要使用特殊参数语法。所以在SQL语句中添加如下内容。

$P!{my_query}

JasperReports会将此参数视为一种占位符(请注意特殊语法$ P!{}),它将替换为参数的文本值。您需要为此参数设置默认值,因为ireport需要知道结果集中可用的字段。

将运行时的实际SQL作为参数传递