2011-07-14 46 views
5

我有以下查詢:iReport - 參數化模式名稱?

SELECT 
    blah 
FROM 
    "PUBLIC"."MYACTIVITY" MYACTIVITY 

的問題是,架構名稱是不同的環境不同。我試圖使"PUBLIC"像這樣的參數:

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

,同時設置schemeName之前,我在PARAMS編制的報告,但無論我做什麼,或者什麼的默認值設定爲,我得到以下錯誤:

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

如何正確參數此報告的模式名稱?

回答

3

嘗試使用$P!{schemaName}。請注意感嘆號。使用雙引號中的值:

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

和:

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

$P{}替代提供瞭解釋值,而$P!{}使用文字值。您可以使用$P!{}更改查詢本身。

+0

實際上,在發佈此消息後,我在iReport中發現了這一點,但措辭沒有意義,而且當我搜索iReport使用的術語時,找不到任何文檔。我覺得這需要更多的文檔或知名度或什麼:P。 –

+0

是的。 '$ X {}'和'$ P!{}'需要更多光線照在他們身上。在Web上搜索非字母數字字符是有問題的。 –

+0

等一下,什麼是$ X {}? :P –