How to deploy a report created using a JDBC data source?
Hi,
I created a report with JDBC Data Source and I see it correctly in Birt report Viewer but when I create a new report using Report Template I have this error:
I have copy the DB2 driver in
JazzTeamServer\repotools\eclipse\plugins\org.eclipse.birt.report.data.oda.jdbc_2.2.2.r22x_v20071206\drivers and C:\Program Files\IBM\JazzTeamServer\repotools\eclipse\plugins\org.eclipse.birt.report.data.oda.jdbc\drivers folders.
I have the DB2 driver also in:
JazzTeamServer\server\update-site\plugins\org.eclipse.birt.report.data.oda.jdbc_2.2.2.r22x_v20071206\drivers and
JazzTeamServer\server\update-site\plugins\org.eclipse.birt.report.data.oda.jdbc\drivers folders but it still does not work. :(
At this point I believe to be wrong to deploy the report, deploy reports with jdbc data source is different than "normal" report with Jazz DW data source?
Any suggestion?
Thanks
AI
I created a report with JDBC Data Source and I see it correctly in Birt report Viewer but when I create a new report using Report Template I have this error:
Cannot open the connection for the driver: org.eclipse.birt.report.data.oda.jdbc
Cannot load JDBC Driver class: com.ibm.db2.jcc.DB2Driver ( 1 time(s) )
detail : org.eclipse.birt.report.data.adapter.api.AdapterException: 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:457)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:151)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:117)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:182)
at org.eclipse.birt.report.engine.executor.ExtendedGenerateExecutor.executeQueries(ExtendedGenerateExecutor.java:197)
at org.eclipse.birt.report.engine.executor.ExtendedGenerateExecutor.execute(ExtendedGenerateExecutor.java:63)
at org.eclipse.birt.report.engine.executor.ExtendedItemExecutor.execute(ExtendedItemExecutor.java:60)
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:85)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:106)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:140)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:68)
at com.ibm.team.reports.service.internal.InternalReportService.getRenderedReport(InternalReportService.java:1582)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
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:375)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:361)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:55)
at $Proxy144.getRenderedReport(Unknown Source)
at com.ibm.team.reports.service.internal.ReportRestService$2.run(ReportRestService.java:416)
at com.ibm.team.reports.service.internal.ReportRestService.getRenderedReport(ReportRestService.java:423)
at com.ibm.team.reports.service.internal.ReportRestService.getRenderedQuery(ReportRestService.java:364)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
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:375)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:361)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:55)
at $Proxy146.getRenderedQuery(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
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:493)
at com.ibm.team.repository.servlet.AbstractTeamServerServlet.service(AbstractTeamServerServlet.java:1379)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
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:803)
at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:115)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:810)
I have copy the DB2 driver in
JazzTeamServer\repotools\eclipse\plugins\org.eclipse.birt.report.data.oda.jdbc_2.2.2.r22x_v20071206\drivers and C:\Program Files\IBM\JazzTeamServer\repotools\eclipse\plugins\org.eclipse.birt.report.data.oda.jdbc\drivers folders.
I have the DB2 driver also in:
JazzTeamServer\server\update-site\plugins\org.eclipse.birt.report.data.oda.jdbc_2.2.2.r22x_v20071206\drivers and
JazzTeamServer\server\update-site\plugins\org.eclipse.birt.report.data.oda.jdbc\drivers folders but it still does not work. :(
At this point I believe to be wrong to deploy the report, deploy reports with jdbc data source is different than "normal" report with Jazz DW data source?
Any suggestion?
Thanks
AI
4 answers
You have modified some of the bundles that we ship with the server. I know that Tomcat caches those bundles in a folder named work. So even after you have made changes to the BIRT bundles to include the JDBC driver, Tomcat might not pick the changes because it is still using the cached bundles. I could be wrong since I never tried the scenario you are trying. So what I am suggesting is that you need to shutdown your server, empty the work folder and restart the server. Of course I am assuming your server is running Tomcat.
You have modified some of the bundles that we ship with the server. I know that Tomcat caches those bundles in a folder named work. So even after you have made changes to the BIRT bundles to include the JDBC driver, Tomcat might not pick the changes because it is still using the cached bundles. I could be wrong since I never tried the scenario you are trying. So what I am suggesting is that you need to shutdown your server, empty the work folder and restart the server. Of course I am assuming your server is running Tomcat.
Thanks a lot!
Now works!!! :D
AI