2017-02-08 10 views
0

나는 BIRT를 처음 사용하는 사람입니다. 필자는 오라클 DB에 쿼리 할 코드가있는 독립 실행 형 jar를 기본적으로 사용하는 POJO Datasource를 사용하려고합니다. POJO 데이터 소스를 추가하고 결과를 미리 보면 아래 오류가 표시됩니다. 특별한 일을해야 할 사람이 누구든지 제안 할 수 있습니까? 내 런타임 속성 및 디자인 타임 속성에 독립 실행 형 병을 추가하려고합니다.POJO 데이터 소스 사용 및 Oracle DB 쿼리

org.eclipse.birt.data.engine.odaconsumer.OdaDataException : 명령문을 실행할 수 없습니다. 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) 

: 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 

: 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 

의해 발생 : java.lang.NoClassDefFoundError가 오라클/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 

답변

0

Oracle JDBC 드라이버 ojdbc6.jar (또는 ojdbc7.jar)을 서브 디렉토리 %ECLIPSE_HOME%\plugins\org.eclipse.birt.report.data.oda.jdbc_*\drivers에 복사하십시오.

..... jdbc _ * ... 디렉토리의 정확한 이름은 BIRT 버전에 따라 다릅니다.