2016-02-08 24 views
0

我使用JDBC连接在SpagoBI中创建了数据源连接[com.mysql.jdbc.Driver(v5.0)] 连接成功。然后开始构建新的数据集。我可以看到数据库中的所有表格。但是当我点击预览结果时,我收到错误。SpagoBI/BIRT JDBC连接

错误发生在运行报告时:

org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report. 
    at org.eclipse.birt.report.engine.api.impl.DatasetPreviewTask.doRun(DatasetPreviewTask.java:135) 
    at org.eclipse.birt.report.engine.api.impl.DatasetPreviewTask.runDataset(DatasetPreviewTask.java:97) 
    at org.eclipse.birt.report.engine.api.impl.DatasetPreviewTask.execute(DatasetPreviewTask.java:49) 
    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:336) 
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) 
Caused by: org.eclipse.birt.data.engine.odaconsumer.OdaDataException: Cannot get the result set metadata. 
    org.eclipse.birt.report.data.oda.jdbc.JDBCException: SQL statement does not return a ResultSet object. 
SQL error #1:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=500' at line 1 
; 
    com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=500' at line 1 
    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.getRuntimeMetaData(PreparedStatement.java:414) 
    at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getProjectedColumns(PreparedStatement.java:377) 
    at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.doGetMetaData(PreparedStatement.java:347) 
    at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.execute(PreparedStatement.java:563) 
    at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:964) 
    at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:428) 
    at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1142) 
    at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:232) 
    at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:177) 
    at org.eclipse.birt.data.engine.impl.QueryResults.getResultMetaData(QueryResults.java:132) 
    at org.eclipse.birt.report.engine.api.impl.DatasetPreviewTask.extractQuery(DatasetPreviewTask.java:169) 
    at org.eclipse.birt.report.engine.api.impl.DatasetPreviewTask.doRun(DatasetPreviewTask.java:126) 
    ... 5 more 
Caused by: org.eclipse.birt.report.data.oda.jdbc.JDBCException: SQL statement does not return a ResultSet object. 
SQL error #1:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=500' at line 1 
; 
    com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=500' at line 1 
    at org.eclipse.birt.report.data.oda.jdbc.Statement.executeQuery(Statement.java:464) 
    at org.eclipse.birt.report.data.oda.jdbc.Statement.getMetaUsingPolicy1(Statement.java:403) 
    at org.eclipse.birt.report.data.oda.jdbc.Statement.getMetaData(Statement.java:303) 
    at org.eclipse.birt.report.data.oda.jdbc.bidi.BidiStatement.getMetaData(BidiStatement.java:56) 
    at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.doGetMetaData(OdaQuery.java:412) 
    at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.getMetaData(OdaQuery.java:379) 
    at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getRuntimeMetaData(PreparedStatement.java:407) 
    ... 16 more 
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=500' at line 1 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) 
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) 
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) 
    at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) 
    at com.mysql.jdbc.Connection.execSQL(Connection.java:3206) 
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1447) 
    at org.eclipse.birt.report.data.oda.jdbc.Statement.executeQuery(Statement.java:460) 
    ... 22 more 

我的MySQL查询是

SELECT * FROM customers 

我使用SpagoBIStudio_5.1.0_win64_19012015,爪哇1.7

+0

什么是你的MySQL版本? –

回答

0

https://dev.mysql.com/downloads/file/?id=462850

并且下载此驱动程序并在y时使用它OU创建datasouce

和blem解决

+0

好的,这可能会解决一个问题,但是......你真的可以提供更多的解释。 [如何回答](http://stackoverflow.com/help/how-to-answer) – AgataB

+0

真的很好,如果你需要任何帮助,当你解决这个问题,你可以发布它,我帮你 – hana

+0

请写出答案与竞争可能,并阅读帮助中心... – AgataB