views:

345

answers:

1

I have successfully connected to DB2 database using db2jcc.jar and now facing another issue.

When i create a dataset and preview it. BIRT viewer throws following error. Cannot get the decimal value from column: 1. Cannot get BigDecimal value in the result set. SQL error #1: [IBM][JDBC Driver] CLI0610E Invalid column number. SQLSTATE=S1002

odaconsumer.CannotGetBigDecimalFromColumn ( 1 time(s) ) detail : org.eclipse.birt.report.engine.api.EngineException: Cannot get the decimal value from column: 1.Cannot get BigDecimal value in the result set.SQL error #1: [IBM][JDBC Driver] CLI0610E Invalid column number. SQLSTATE=S1002 at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1121) at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1085) at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:88) at org.eclipse.birt.report.engine.executor.DataItemExecutor.execute(DataItemExecutor.java:75) at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:42) at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:45) at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:33) at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:63) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90) at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:101) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:151) at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:72) at org.eclipse.birt.report.service.ReportEngineService.runAndRenderReport(ReportEngineService.java:877) at org.eclipse.birt.report.service.BirtViewerReportService.runAndRenderReport(BirtViewerReportService.java:938) at org.eclipse.birt.report.service.actionhandler.BirtGetPageAllActionHandler.__execute(BirtGetPageAllActionHandler.java:131) at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90) at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47) at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143) at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPageAll(BirtDocumentProcessor.java:183) at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112) at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66) at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454) at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699) at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265) at javax.servlet.http.HttpServlet.service(HttpServlet.java:616) at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122) at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:180) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:269) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) at org.mortbay.jetty.servlet.ServletHandler.dispatch(ServletHandler.java:677) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) at org.mortbay.http.HttpServer.service(HttpServer.java:909) at org.mortbay.http.HttpConnection.service(HttpConnection.java:820) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)Caused by: org.eclipse.birt.data.engine.core.DataException: Cannot get the decimal value from column: 1.Cannot get BigDecimal value in the result set.SQL error #1: [IBM][JDBC Driver] CLI0610E Invalid column number. SQLSTATE=S1002 at org.eclipse.birt.data.engine.odaconsumer.ResultSet.throwDataException(ResultSet.java:497) at org.eclipse.birt.data.engine.odaconsumer.ResultSet.getBigDecimal(ResultSet.java:289) at org.eclipse.birt.data.engine.odaconsumer.ResultSet.fetch(ResultSet.java:182) at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:145) at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:102) at org.eclipse.birt.data.engine.executor.transform.SimpleResultSet.(SimpleResultSet.java:80) at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:731) at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:331) at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:945) at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233) at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:160) at org.eclipse.birt.report.engine.data.dte.QueryResultSet.(QueryResultSet.java:92) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:129) at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:253) at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1755) at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:77) ... 56 moreCaused by: org.eclipse.birt.report.data.oda.jdbc.JDBCException: Cannot get BigDecimal value in the result set.SQL error #1: [IBM][JDBC Driver] CLI0610E Invalid column number. SQLSTATE=S1002 ; COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0610E Invalid column number. SQLSTATE=S1002 at org.eclipse.birt.report.data.oda.jdbc.ResultSet.getBigDecimal(ResultSet.java:353) at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaResultSet.getBigDecimal(OdaResultSet.java:448) at org.eclipse.birt.data.engine.odaconsumer.ResultSet.getBigDecimal(ResultSet.java:285) ... 70 moreCaused by: COM.ibm.db2.jdbc.DB2Exception: [IBM][JDBC Driver] CLI0610E Invalid column number. SQLSTATE=S1002 at COM.ibm.db2.jdbc.net.SQLExceptionGenerator.throwColumnIndexError(Unknown Source) at COM.ibm.db2.jdbc.net.DB2ResultSet.checkHandlesAndIndex(Unknown Source) at COM.ibm.db2.jdbc.net.DB2ResultSet.getBigDecimal(Unknown Source) at org.eclipse.birt.report.data.oda.jdbc.ResultSet.getBigDecimal(ResultSet.java:348) ... 72 more

A: 

This may have nothing to do with BIRT specifically. Perhaps your query to retrieve the data. Have you tried using the jdbc driver stand alone in a simple Java program to try and retrieve the data? This may be easier to debug (as you can actually attach a debugger) than from within BIRT.

Jeremy Raymond