我有以下查询:
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
如何正确参数化此报告的架构名称?
答案 0 :(得分:3)
尝试使用$P!{schemaName}
。请注意感叹号。在值中使用双引号:
SELECT
blah
FROM
$P!{schemaName}."MYACTIVITY" MYACTIVITY
和
让schemaName
= "PUBLIC"
(包括引号)。
$P{}
替换提供了解释值,而$P!{}
使用了文字值。您可以使用$P!{}
更改查询本身。