BIRT report with JDBC datasource throws exceptions
Hi All,
I have a BIRT report created which uses JDBC datasource inside; In the report designer it works fine; When I deploy it to the Jazz server hosted on tomcat (on Windows) also its working without any issues; But its throwing exceptions when I deploy it to the project areas hosted on WebSphere.
I have the DB2 jDBC jars (db2jcc.jar & db2jcc_license_cu.jar) copied to <JAZZ_INSTALL_DIR>\repotools\eclipse\plugins\com.ibm.team.repository.jdbcdriver.db2_1.0.2.I200911032102 directory on my local windows machine where jazz is hosted on tomcat. I need to have this report deployed on a server hosted on WebSphere (on Linux). After deployment to server hosted on WebSphere, new report created throws exception looks something like below:
I think it requires some additional configuration on the jazz server hosted on WebSphere(on Linux). Not sure whether these JDBC jar files to be placed on some specific location on this server for it to pick up and load properly. Any pointer/ guidance in this regard would be of great help. Many thanks.
Server hosted on : IBM WebSphere Application Server v6.1.0.31
OS : RHEL Server release 5.2
Database : DB2 UDB v9.5
Regards,
Mohan.
I have a BIRT report created which uses JDBC datasource inside; In the report designer it works fine; When I deploy it to the Jazz server hosted on tomcat (on Windows) also its working without any issues; But its throwing exceptions when I deploy it to the project areas hosted on WebSphere.
I have the DB2 jDBC jars (db2jcc.jar & db2jcc_license_cu.jar) copied to <JAZZ_INSTALL_DIR>\repotools\eclipse\plugins\com.ibm.team.repository.jdbcdriver.db2_1.0.2.I200911032102 directory on my local windows machine where jazz is hosted on tomcat. I need to have this report deployed on a server hosted on WebSphere (on Linux). After deployment to server hosted on WebSphere, new report created throws exception looks something like below:
Table (id = 2456):
- An exception occurred during processing. Please see the following message for details:
Cannot open the connection for the driver: org.eclipse.birt.report.data.oda.jdbc.
Cannot load JDBC Driver class: com.ibm.db2.jcc.DB2Driver.
exception.error ( 1 time(s) )
detail : org.eclipse.birt.report.engine.api.EngineException: An exception occurred during processing. Please see the following message for details:Cannot open the connection for the driver: org.eclipse.birt.report.data.oda.jdbc.Cannot load JDBC Driver class: com.ibm.db2.jcc.DB2Driver. 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.TableItemExecutor.execute(TableItemExecutor.java:62) 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 com.ibm.team.reports.service.birt.internal.BirtReportEngineService.internalGetRenderedReport(BirtReportEngineService.java:671) at com.ibm.team.reports.service.birt.internal.BirtReportEngineService.getRenderedReport(BirtReportEngineService.java:298) at sun.reflect.GeneratedMethodAccessor370.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy445.getRenderedReport(Unknown Source) at com.ibm.team.reports.service.internal.InternalReportService.getRenderedReport(InternalReportService.java:1098) at sun.reflect.GeneratedMethodAccessor364.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy211.getRenderedReport(Unknown Source) at com.ibm.team.reports.service.internal.ReportRestService$1.run(ReportRestService.java:421) at com.ibm.team.reports.service.internal.ReportRestService.getRenderedReport(ReportRestService.java:428) at com.ibm.team.reports.service.internal.ReportRestService.postRenderReport(ReportRestService.java:512) at sun.reflect.GeneratedMethodAccessor777.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:370) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:356) at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56) at $Proxy215.postRenderReport(Unknown Source) at sun.reflect.GeneratedMethodAccessor776.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.doModelledRestService(AbstractTeamServerServlet.java:571) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest2(AbstractTeamServerServlet.java:1752) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.handleRequest(AbstractTeamServerServlet.java:1623) at com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1536) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 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:75) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:121) at com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:54) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:592) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:525) at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3548) at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:269) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:831) at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:133) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:267) at com.ibm.ws.ssl.channel.impl.SSLConnectionLink.determineNextChannel(SSLConnectionLink.java:1037) at com.ibm.ws.ssl.channel.impl.SSLConnectionLink$MyReadCompletedCallback.complete(SSLConnectionLink.java:644) at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)Caused by: org.eclipse.birt.report.data.adapter.api.AdapterException: An exception occurred during processing. Please see the following message for details:Cannot open the connection for the driver: org.eclipse.birt.report.data.oda.jdbc.Cannot load JDBC Driver class: com.ibm.db2.jcc.DB2Driver. at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:493) at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:115) 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) ... 74 moreCaused by: org.eclipse.birt.data.engine.core.DataException: Cannot open the connection for the driver: org.eclipse.birt.report.data.oda.jdbc.Cannot load JDBC Driver class: com.ibm.db2.jcc.DB2Driver. at org.eclipse.birt.data.engine.odaconsumer.ConnectionManager.openConnection(ConnectionManager.java:169) at org.eclipse.birt.data.engine.executor.DataSource.newConnection(DataSource.java:236) at org.eclipse.birt.data.engine.executor.DataSource.open(DataSource.java:223) at org.eclipse.birt.data.engine.impl.DataSourceRuntime.openOdiDataSource(DataSourceRuntime.java:209) at org.eclipse.birt.data.engine.impl.QueryExecutor.openDataSource(QueryExecutor.java:390) at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:309) at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:498) at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.produceQueryResults(PreparedDataSourceQuery.java:189) at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:177) at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute(PreparedOdaDSQuery.java:143) at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:482) ... 78 moreCaused by: org.eclipse.birt.report.data.oda.jdbc.JDBCException: Cannot load JDBC Driver class: com.ibm.db2.jcc.DB2Driver. at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.findDriver(JDBCDriverManager.java:693) at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.loadAndRegisterDriver(JDBCDriverManager.java:816) at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:213) at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:179) at org.eclipse.birt.report.data.oda.jdbc.Connection.connectByUrl(Connection.java:220) at org.eclipse.birt.report.data.oda.jdbc.Connection.open(Connection.java:151) at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaConnection.open(OdaConnection.java:235) at org.eclipse.birt.data.engine.odaconsumer.ConnectionManager.openConnection(ConnectionManager.java:157) ... 88 more
I think it requires some additional configuration on the jazz server hosted on WebSphere(on Linux). Not sure whether these JDBC jar files to be placed on some specific location on this server for it to pick up and load properly. Any pointer/ guidance in this regard would be of great help. Many thanks.
Regards,
Mohan.