集算器提供了标准JDBC与报表工具集成,可以方便地与BIRT集成web端部署过程。下面就开发环境和WEB应用环境分别说明集成过程。
创建集算器JDBC必须的两个配置文件config.xml和dfxConfig.xml。
<?xml version="1.0"encoding="UTF-8"?>
<Config Version="1">
<!-- 注册码-->
<regCode>HOjw6-9da4x-NXkD6-089IX@w</regCode>
<charSet>GBK</charSet>
<!-- 配置 dfx文件寻址路径,该路径为绝对路径,可以设置多个路径,以“;”隔开。 dfx文件的路径也可以放在应用项目的类路径上,加载文件的顺序高于寻址路径 -->
<dfxPathList>
<dfxPath>D:/dfxs</dfxPath>
</dfxPathList>
<dateFormat>yyyy-MM-dd</dateFormat>
<timeFormat>HH:mm:ss</timeFormat>
<dateTimeFormat>yyyy-MM-ddHH:mm:ss</dateTimeFormat>
<!-- 数据源配置方法一:在应用服务器中配置连接池,在此指定数据源名称 -->
<DBList>
<!-- 数据源名称,必须与 dfx 文件中的数据源名称一致,这里连接hsql数据库 -->
<DB name="demo">
<property name="url" value="jdbc:hsqldb:hsql://127.0.0.1/demo"/>
<property name="driver"value="org.hsqldb.jdbcDriver"/>
<property name="type"value="HSQL"/>
<property name="user"value="sa"/>
<property name="password"value=""/>
<property name="batchSize"value="1000"/>
<property name="autoConnect"value="false"/>
<property name="useSchema"value="false"/>
<property name="addTilde"value="false"/>
</DB>
</DBList>
<mainPath/>
<tempPath>temp</tempPath>
<bufSize>65536</bufSize>
<localHost/>
<localPort>0</localPort>
<logLevel>DEBUG</logLevel>
<callxParallel>1</callxParallel>
<nodeParallel>1</nodeParallel>
</Config>
<?xml version="1.0"encoding="GBK"?>
<dfxConfig>
<maxConcurrents>10</maxConcurrents>
<maxWaits>10</maxWaits>
<log></log>
</dfxConfig>
新建报表,在“DataSources”下新建JDBC DataSource 类型数据源,下一步:
在新建数据源窗口,点击“Manage Drivers”,添加集算器JDBC驱动jar
需要添加dm.jar、poi-3.7-20101029.jar、log4j_128.jar、icu4j_3_4_5.jar、dom4j-1.6.1.jar五个jar包,这些jar可以集算器IDE[安装目录]\esProc\lib目录获得。如果集算器程序还以其他数据库作为数据源,此处还需要添加相应数据库驱动包,如这里添加了hsqldb.jar。
将第一步中创建的两个配置文件config.xml和dfxConfig.xml放置在classpath的根路径上(这里没有设置目录形式classpath的功能,可以把配置文件压缩到上述任意jar的根目录就可以了,如dm.jar),且名字不可更改。
完成后,在Dirver Class中即可选择驱动类名com.esproc.jdbc.InternalDriver ( v1.0),填写Database URL为:jdbc:esproc:local://,用户名和密码为空。
集算器JDBC是个完全嵌入式计算引擎,所有运算都在这个嵌入包中完成,因而url为local;他也不是完整的数据库,因为没有用户名和密码。
填写完毕后,点击“Test Connection”,数据源连接测试成功。
将集算器脚本(dfx)复制到config.xml配置的dfxPath中,这里以查询某月股票收盘价的stocks.dfx为例。
新建“Data Sets”,选择刚刚配置好的数据源,数据集类型选择存储过程。
下一步,填写查询语句 {call stocks(?)},集算器脚本采用类存储过程调用方式,其中“stocks“为dfx名称,“?”为所传递参数,即查询月份。
设置参数:
预览数据集,即可看到查询结果,调用成功。
以Tomcat6.0为例部署应用。
下载BIRT4.3.0发布包birt-runtime-4_3_0.zip,地址:http://www.eclipse.org/downloads/download.php?file=/birt/downloads/drops/R-R1-4_3_0-201306131152/birt-runtime-4_3_0.zip
将WebViewerExample目录拷贝到Tomcat的webapps目录下,重命名为birt。
需要准备config.xml和dfxConfig.xml两个配置文件,与上述“在开发环境下集成”内容完全一致不再赘述。
将上述“在开发环境下集成”需要的dm.jar、poi-3.7-20101029.jar、log4j_128.jar、icu4j_3_4_5.jar、dom4j-1.6.1.jar拷贝到应用的WEB-INF\lib下,将以上两个配置文件压缩到dm.jar中。
将实现开发完成的报表(如stocks.rptdesign)拷贝到应用的根目录下,启动Tomcat,访问:http://127.0.0.1:8080/birt/frameset?report=stocks.rptdesign可以看到如下展现效果,部署成功。
原文地址:http://esproc.blog.51cto.com/8028595/1536422