0

I am a newbie with BIRT. I am trying to use POJO Datasource which essentially uses a stand alone jar which has a code to query to Oracle DB. When I add the POJO Datasource and preview the results, I see the below error. Can anyone suggest if I need to do anything special. I am adding my standalone jar in my Runtime Properties and Design Time properties.

org.eclipse.birt.data.engine.odaconsumer.OdaDataException: Cannot execute the statement. org.eclipse.datatools.connectivity.oda.OdaException ; java.lang.reflect.InvocationTargetException

at org.eclipse.birt.data.engine.odaconsumer.ExceptionHandler.newException(ExceptionHandler.java:52)

at org.eclipse.birt.data.engine.odaconsumer.ExceptionHandler.throwException(ExceptionHandler.java:108)

at org.eclipse.birt.data.engine.odaconsumer.ExceptionHandler.throwException(ExceptionHandler.java:84)

at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.execute(PreparedStatement.java:586)

at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:980)

at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:607)

at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1251)

at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233)

at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:178)

at org.eclipse.birt.report.engine.api.impl.ExtractionResults.nextResultIterator(ExtractionResults.java:157)

at org.eclipse.birt.report.designer.data.ui.dataset.DataSetPreviewer.preview(DataSetPreviewer.java:69)

at org.eclipse.birt.report.designer.data.ui.dataset.ResultSetPreviewPage$5.run(ResultSetPreviewPage.java:372)

at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)

Caused by: org.eclipse.datatools.connectivity.oda.OdaException ; java.lang.reflect.InvocationTargetException

at org.eclipse.birt.data.oda.pojo.impl.internal.PojoDataSetFromCustomClass.open(PojoDataSetFromCustomClass.java:194)

at org.eclipse.birt.data.oda.pojo.impl.Query.executeQuery(Query.java:131)

at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.doExecuteQuery(OdaQuery.java:480)

at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.executeQuery(OdaQuery.java:444)

at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.execute(PreparedStatement.java:575)

... 9 more

Caused by: java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.eclipse.birt.data.oda.pojo.impl.internal.PojoDataSetFromCustomClass.open(PojoDataSetFromCustomClass.java:180)

... 13 more

Caused by: java.lang.NoClassDefFoundError: oracle/jdbc/OracleDriver

at com.xxx.dao.mock.HitMissDao.getConnection(HitMissDao.java:111)

at com.xxx.dao.mock.HitMissDao.getHitMissDataFromDB(HitMissDao.java:38)

at com.xxx.dao.mock.HitMissDao.getHitMissData(HitMissDao.java:33)

at com.xxx.dataprovider.HitMissDataRetriever.open(HitMissDataRetriever.java:30)

... 18 more
Anupam
  • 1
  • 1
  • 4

1 Answers1

0

Copy the Oracle JDBC driver ojdbc6.jar (or ojdbc7.jar) into the sub-directory %ECLIPSE_HOME%\plugins\org.eclipse.birt.report.data.oda.jdbc_*\drivers.

The exact name of the .....jdbc_*... directory depends on your BIRT version.

hvb
  • 2,484
  • 1
  • 10
  • 13