在讓BIRT允許我創建一個包含在運行時設置的參數的數據集時遇到一些困難。使用動態數據創建BIRT數據集 - ORA-01722
這是給我的錯誤的SQL是:
...
FROM SPRIDEN, SPBPERS P, POSNCTL.NBRJOBS X, NHRDIST d1
where D1.NHRDIST_PAYNO between '@PAYNO_BEGIN' and '@PAYNO_BEGIN'
AND D1.NHRDIST_YEAR = '@YEAR'
...
我有我的報表參數定義爲PaynoBegin,PaynoEnd,
年我也有一個數據集腳本beforeOpen設置如下:
queryText = String (queryText).replace ("@PAYNO_END", Number(params["PaynoEnd"]));
queryText = String (queryText).replace ("@PAYNO_BEGIN", Number(params["PaynoBegin"]));
queryText = String (queryText).replace ("@YEAR", Number(params["Year"]));
問題似乎是JDBC無法從中得到ResultSet,但我有10個其他報告以相同的方式工作。我已經註釋了where子句,它會生成數據集。我也試過把where子句分成兩個和子句< =和> =,但是它仍然會拋出一個ORA-01722無效的數字錯誤。
對此有何看法?
這樣做。當我在「BIRT - 現場指南」中找到相同的解決方案時,我發佈了這個試用版,但它不起作用。再次運行它,它現在可以在Web查看器中使用,也可以在我們的Web應用程序中使用。謝謝@Mark Bannister – idonaldson 2012-03-01 15:37:31