如管理员所说,我的数据源定义如下:select * from jor_test_area where p_id=${pid}
我的参数定义如下:名称:pid
参数类型:int
默认值:0
在保存数据源的时候后台报错: ORA-00936: 缺失表达式
经过跟踪调试,发现在SqlReader.readStart 第200行执行SQL的时候报错
执行的SQL为:select * from jor_test_area where p_id=
可见并未将{}之间的pid替换为参数默认值
通过进一步跟踪调试发现在ReportContext.evalTemplate第192行调用eval(String expr)这个方法的时候返回值是null
所以ReportContext.evalTemplate在SQL拼装的时候把null替换成了一个空字符串
也就说在ReportContext.eval 第241行调用BeanShell的时候出了问题,通过跟踪调试发现BeanShell是被修改过的
不知道是我配置有问题,还有程序有问题
另外是否可以将修改后的beanshell源码给我一份,以便我调试
谢谢