任何人都可以告诉我导致以下错误的实际原因:
oracle.jbo.JboException:JBO-29000:捕获到意外的异常:java.lang.NullPointerException,msg = null at oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:7349) at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1257) at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:1449) at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:1355) at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:1340) at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:7236) at oracle.adf.model.bc4j.DCJboDataControl.executeIteratorBindingWithParams(DCJboDataControl.java:2987) at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1541) at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2150) 在oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:740) ... ... ..
引起:java.lang.NullPointerException at oracle.jdbc.driver.OraclePreparedStatement.setObjectAtName(OraclePreparedStatement.java:15884) at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObjectAtName(OraclePreparedStatementWrapper.java:911) at weblogic.jdbc.wrapper.PreparedStatement_oracle_jdbc_driver_OraclePreparedStatementWrapper.setObjectAtName(Unknown Source) at oracle.jbo.server.OracleSQLBuilderImpl.bindParamValue(OracleSQLBuilderImpl.java:4669) at oracle.jbo.server.BaseSQLBuilderImpl.bindParametersForStmt(BaseSQLBuilderImpl.java:3687) 在oracle.jbo.server.ViewObjectImpl.bindParametersForCollection(ViewObjectImpl.java:22684)
答案 0 :(得分:0)
从堆栈跟踪中,似乎未正确设置视图对象查询所需的某些绑定变量。 如果它间歇性地工作,可能是绑定变量在某些时候丢失了。要调试/测试,请尝试使用绑定变量的硬编码值并查看它是否先工作(如果您有ViewCriteria,请先尝试删除它) - 然后运行任务流并查看它是否一致。
答案 1 :(得分:0)
我建议使用-Djbo.debugoutput = console参数在JDeveloper中运行该应用程序。如果您的业务组件正在做什么的信息,并且您可以在控制台日志中捕获错误原因,它会为您提供很多帮助。