当前位置:文档之家› Eclipse中装配Birt插件及基础教程

Eclipse中装配Birt插件及基础教程

Eclipse中装配Birt插件及基础教程 网友分享于:2015-08-22 浏览:0次网站:/eclipse/1997097.htmlEclipse中安装Birt插件及基础教程这些天由于公司项目的需要,需要生产报表,我们公司使用的是cs客户端模式,主要运用的是J Frame来做的客户端,现在需要做报表,所以需要在客户端里面嵌套一个浏览器,然后使用Birt 来制作报表,所以才有如下文章,本来以为这个安装Birt插件是一件很easy的事情,然而没想到的是,百度了很久,都没有link安装的具体方法,要么就是插件包找不到(官网没有找到,可能是我英语不好,没看到),要么就是安装了没有效果,当然了,eclipse官网已经有了集成过B irt插件的IDE,但是我这人偏偏较真,就不想用他们已经集成好的,我就要自己按照link的模式来安装插件(对,没错,我就是那传说中的一根筋。

),下面具体介绍下集成的步骤:第一步:去官网下载集成好的All-in-One那个包,地址如下Birt下载地址,下载后的包是:eclips e-reporting-mars-R-win32-x86_64.zip,解压之后里面是eclipse的文件目录,我们只用将其中的plugins和features提取出来,制作Birt的link插件即可,至于link安装方法其实很简单,这样做的好处是,方便我们调用插件,就算以后我们重装eclipse,只需要重新写个.link的配置文件就可以了,就不需要再重新下载插件,重新安装。

(以下安装方法以本人电脑为例)首先在eclipse软件的所在文件夹所在磁盘下新建BIRT文件夹,在BIRT文件夹下新建一个名为eclipse的文件夹,用来存放Birt的插件,将eclipse-reporting-mars-R-win32-x86_64.zip中解压的plugins和features两个文件夹复制到/BIRT/eclipse文件夹中;注意:下图中两个文件夹的相对位置要正确然后,进行eclipse的配置工作,在eclipse的安装目录文件夹eclipse中新建一个文件夹命名为l inks,在links文件夹中配置一个birt.link的文件,如下:最后重启eclipse就可以了,如果新建-》others,能看到以下页面就说明安装成功:以上是第一步,集成birt插件,接下来就是制作报表第二步:制作报表:首先在Package explore页面1. 新建一个报表工程,点击file选择new然后选择other,出现下面的对话框,选择report project,点击next,输入工程名,finish即可创建完report project 接下来就是创建report,新建一个report:这样就能得到一个空的报表,2. 接下来设计报表:(1)、配置数据源,palette是设计前台界面的样式,Dataexplorer是配置数据源,结果集等的右击data source新建一个数据源,选择JDBC DATA SOURCE,点击next这样数据源就创建成功了,(2)、接下来完成数据集的配置,右击DaTaSets新建一个结果集如果连接数据库的URL上写过了数据库名,那些sql的时候就不需要写数据库名了。

点击finish完成,出现输出列窗口,可以点击Preview Results显示查询出来的结果集。

若数据源的驱动类版本不匹配,可能会导致一下错误:(mysql5.6版本的需要使用5.1.37驱动jar包)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:316)at org.eclipse.birt.report.engine.api.impl.DatasetPreviewTask.runDataset(DatasetPreviewTask.java:278)at org.eclipse.birt.report.engine.api.impl.DatasetPreviewTask.execute(DatasetPreviewTask.java:89)at org.eclipse.birt.report.designer.data.ui.dataset.DataSetPreviewer.preview(DataSetPreviewer.java:68)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:122)Caused by: org.eclipse.birt.data.engine.odaconsumer.OdaDataException: Cannot get the result set meta data.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 ve rsion for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=500' at line 1;com.mysql.jdbc.exceptions.jdbc4.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_LIM IT=500' at line 1at 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:980)at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQu ery.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.data.engine.impl.QueryResults.getResultMetaData(QueryResults.java:132)at org.eclipse.birt.report.engine.api.impl.DatasetPreviewTask.extractQuery(DatasetPreviewTask.java:350)at org.eclipse.birt.report.engine.api.impl.DatasetPreviewTask.doRun(DatasetPreviewTask.java:307)... 5 moreCaused by: org.eclipse.birt.report.data.oda.jdbc.JDBCException: SQL statement does not return a Resul tSet object.SQL error #1:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server v ersion for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=500' at line 1;com.mysql.jdbc.exceptions.jdbc4.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_LIM IT=500' at line 1at org.eclipse.birt.report.data.oda.jdbc.Statement.executeQuery(Statement.java:482)at org.eclipse.birt.report.data.oda.jdbc.Statement.getMetaUsingDefaultPolicy(Statement.java:389)at org.eclipse.birt.report.data.oda.jdbc.Statement.getMetaData(Statement.java:330)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:423)at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.getMetaData(OdaQuery.java:390)at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getRuntimeMetaData(PreparedStatement.java:407) ... 16 moreCaused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your S QL 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 1at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at ng.reflect.Constructor.newInstance(Constructor.java:526)at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)at com.mysql.jdbc.Util.getInstance(Util.java:386)at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3597)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2619)at com.mysql.jdbc.StatementImpl.executeSimpleNonQuery(StatementImpl.java:1606)at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2268)at org.eclipse.birt.report.data.oda.jdbc.Statement.executeQuery(Statement.java:478)... 22 more若结果集正常则配置完成,可以进行前台界面的设计了。

相关主题