【发布时间】:2012-02-29 22:30:29
【问题描述】:
在让 BIRT 允许我创建带有在运行时设置的参数的数据集时遇到了一些麻烦。
给我错误的 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、Year
我还为 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 无效数字错误。
对此有什么想法吗?
【问题讨论】:
标签: javascript eclipse birt