iReport - 参数化架构名称?

时间:2011-07-14 19:20:18

标签: jasper-reports schema ireport

我有以下查询:

SELECT
     blah
FROM
     "PUBLIC"."MYACTIVITY" MYACTIVITY

问题是,架构名称对于不同的环境是不同的。我尝试将"PUBLIC"这样的参数设为:

SELECT
     blah
FROM
     "$P{schemaName}"."MYACTIVITY" MYACTIVITY

在我在params中编译报表之前设置schemeName,但无论我做什么,或者默认值设置为什么,我都会收到以下错误:

Error:SQL problems:invalid schema name: ? in statement [SELECT blah FROM "?"."MYACTIVITY" MYACTIVITY

如何正确参数化此报告的架构名称?

1 个答案:

答案 0 :(得分:3)

尝试使用$P!{schemaName}。请注意感叹号。在值中使用双引号:

SELECT
     blah
FROM
     $P!{schemaName}."MYACTIVITY" MYACTIVITY

schemaName = "PUBLIC"(包括引号)。

$P{}替换提供了解释值,而$P!{}使用了文字值。您可以使用$P!{}更改查询本身。