iReport - 参数化架构名称?

Ste*_*all 5 schema jasper-reports ireport

我有以下查询:

SELECT
     blah
FROM
     "PUBLIC"."MYACTIVITY" MYACTIVITY
Run Code Online (Sandbox Code Playgroud)

问题是,架构名称对于不同的环境是不同的.我尝试制作这样"PUBLIC"的参数:

SELECT
     blah
FROM
     "$P{schemaName}"."MYACTIVITY" MYACTIVITY
Run Code Online (Sandbox Code Playgroud)

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

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

如何正确参数化此报告的模式名称?

Dav*_*vis 3

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

SELECT
     blah
FROM
     $P!{schemaName}."MYACTIVITY" MYACTIVITY
Run Code Online (Sandbox Code Playgroud)

和:

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

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