奇怪的BIRT数据集问题

mlitsn 2008-02-29 10:03:31
遇到了一个奇怪的问题,我在BIRT下建立了数据集,查询语句如下:

select

B.A_C_USER_ID,
B.A_C_UNIT_CODE,
B.A_C_PRODUCT_ID,
B.A_C_PRODUCT_NAME,
B.A_C_FUNC_ID,
EXIMUSER.SEC_USER_AUTH_LEVEL.I_AUTH_LEVEL
from

(select
EXIMUSER.SEC_USER_INFO.C_USER_ID A_C_USER_ID,
EXIMUSER.SEC_USER_INFO.C_UNIT_CODE A_C_UNIT_CODE,
EXIMUSER.SEC_OP_FUNC.C_PRODUCT_ID A_C_PRODUCT_ID,
EXIMUSER.SEC_OP_FUNC.C_PRODUCT_NAME A_C_PRODUCT_NAME,
EXIMUSER.SEC_OP_FUNC.C_FUNC_ID A_C_FUNC_ID
from EXIMUSER.SEC_USER_INFO
left join
EXIMUSER.SEC_OP_FUNC on EXIMUSER.SEC_OP_FUNC.C_USER_ID=EXIMUSER.SEC_USER_INFO.C_USER_ID
where EXIMUSER.SEC_USER_INFO.C_UNIT_CODE=?) B

left join

EXIMUSER.SEC_USER_AUTH_LEVEL on EXIMUSER.SEC_USER_AUTH_LEVEL.C_USER_ID=B.A_C_USER_ID
and EXIMUSER.SEC_USER_AUTH_LEVEL.C_PRODUCT_ID=B.A_C_PRODUCT_ID


在BIRT 的IDE里面预览没有任何问题,但我将模板放到J2EE应用中,结果却报错。报错信息如下:
[color=#FF0000][08-2-29 9:43:00:265 CST] 3cf03cf0 SystemErr R java.lang.NullPointerException
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at java.lang.Throwable.<init>(Throwable.java)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at java.lang.Throwable.<init>(Throwable.java)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at java.lang.NullPointerException.<init>(NullPointerException.java:60)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at com.ibm.ws.rsadapter.jdbc.WSJdbcResultSetMetaData.getColumnCount(WSJdbcResultSetMetaData.java:118)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.data.oda.jdbc.Statement.getMetaData(Statement.java:278)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.doGetMetaData(OdaQuery.java:388)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.getMetaData(OdaQuery.java:356)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getRuntimeMetaData(PreparedStatement.java:369)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getProjectedColumns(PreparedStatement.java:339)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setColumnsProjection(PreparedStatement.java:1028)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.data.engine.executor.DataSourceQuery.prepare(DataSourceQuery.java:262)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.prepareOdiQuery(PreparedOdaDSQuery.java:344)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:213)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:396)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:145)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute(PreparedOdaDSQuery.java:134)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:125)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:119)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:210)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1641)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:73)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.layout.content.BlockStackingExecutor.getNextChild(BlockStackingExecutor.java)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.layout.pdf.PDFBlockStackingLM.traverseChildren(PDFBlockStackingLM.java)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.layout.pdf.PDFStackingLM.layoutChildren(PDFStackingLM.java)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.layout.pdf.PDFPageLM.layout(PDFPageLM.java:210)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.layout.pdf.PDFReportLayoutEngine.layoutReport(PDFReportLayoutEngine.java:60)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.layout.pdf.PDFReportLayoutEngine.layout(PDFReportLayoutEngine.java:97)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:205)
[08-2-29 9:43:00:296 CST] 3cf03cf0 SystemErr R at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:142)
[/color]


后来我试着修改了一下SQL语句,把where条件写在了最后,结果就好了。修改如下:
select

B.A_C_USER_ID,
B.A_C_UNIT_CODE,
B.A_C_PRODUCT_ID,
B.A_C_PRODUCT_NAME,
B.A_C_FUNC_ID,
EXIMUSER.SEC_USER_AUTH_LEVEL.I_AUTH_LEVEL
from

(select
EXIMUSER.SEC_USER_INFO.C_USER_ID A_C_USER_ID,
EXIMUSER.SEC_USER_INFO.C_UNIT_CODE A_C_UNIT_CODE,
EXIMUSER.SEC_OP_FUNC.C_PRODUCT_ID A_C_PRODUCT_ID,
EXIMUSER.SEC_OP_FUNC.C_PRODUCT_NAME A_C_PRODUCT_NAME,
EXIMUSER.SEC_OP_FUNC.C_FUNC_ID A_C_FUNC_ID
from EXIMUSER.SEC_USER_INFO
left join
EXIMUSER.SEC_OP_FUNC on EXIMUSER.SEC_OP_FUNC.C_USER_ID=EXIMUSER.SEC_USER_INFO.C_USER_ID
) B

left join

EXIMUSER.SEC_USER_AUTH_LEVEL on EXIMUSER.SEC_USER_AUTH_LEVEL.C_USER_ID=B.A_C_USER_ID
and EXIMUSER.SEC_USER_AUTH_LEVEL.C_PRODUCT_ID=B.A_C_PRODUCT_ID
where B.A_C_UNIT_CODE=?



不知道为什么?
...全文
64 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧