集算器与BIRT的集成过程

集算器提供了标准JDBC与报表工具集成,可以方便地与BIRT集成web端部署过程。下面就开发环境和WEB应用环境分别说明集成过程。

1、 开发环境下集成

1.1、创建配置文件

创建集算器JDBC必须的两个配置文件config.xml和dfxConfig.xml。

1.1.1、 config.xml

<?xml version="1.0"encoding="UTF-8"?>

<Config Version="1">

<!-- 注册码-->

<regCode>[email protected]</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>

1.1.2、dfxConfig.xml

<?xml version="1.0"encoding="GBK"?>

<dfxConfig>

<maxConcurrents>10</maxConcurrents>

<maxWaits>10</maxWaits>

<log></log>

</dfxConfig>

1.2、新建报表并加载驱动JAR

新建报表,在“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”,数据源连接测试成功。

1.3、部署集算器脚本

将集算器脚本(dfx)复制到config.xml配置的dfxPath中,这里以查询某月股票收盘价的stocks.dfx为例。

1.4、  BIRT调用

新建“Data Sets”,选择刚刚配置好的数据源,数据集类型选择存储过程。

下一步,填写查询语句 {call stocks(?)},集算器脚本采用类存储过程调用方式,其中“stocks“为dfx名称,“?”为所传递参数,即查询月份。

设置参数:

预览数据集,即可看到查询结果,调用成功。

2、Web端部署

以Tomcat6.0为例部署应用。

2.1、准备web发布包

下载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。

2.2、创建配置文件

需要准备config.xml和dfxConfig.xml两个配置文件,与上述“在开发环境下集成”内容完全一致不再赘述。

2.3、拷贝相关jar包

将上述“在开发环境下集成”需要的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中。

2.4、发布报表

将实现开发完成的报表(如stocks.rptdesign)拷贝到应用的根目录下,启动Tomcat,访问:http://127.0.0.1:8080/birt/frameset?report=stocks.rptdesign可以看到如下展现效果,部署成功。

集算器与BIRT的集成过程

时间: 2024-10-10 09:35:59

集算器与BIRT的集成过程的相关文章

集算器访问数据库的配置

集算器支持包括数据库在内的多种异构数据源.这里,我们通过例子来看一下集算器访问数据库的方法. 集算器可以连接数据库的jdbc驱动,也可以通过jdbc-odbc桥连接数据库.由于版权的原因,使用集算器的程序员需要自行准备数据库的jdbc或者odbc驱动.Jdbc驱动jar包准备好之后,需要放入集算器IDE安装目录的/common/jdbc中,例如:C:\Program Files (x86)\MicroInsight\common\jdbc目录中. 集算器集成开发环境的ODBC配置界面如下: 集算

集算器如何优化复杂报表计算(2)格式布局及过程计算

布局格式 横向分栏 大多数报表工具都支持纵向分栏,但几乎没有报表工具支持横向分栏,我们可以用集算器把数据集事先摆好. A B C 1 =db.query("select a,b,c from T ") 2 =A1.step(3,1) =A1.step(3,2)|[null] =A1.step(3,3)|[null] 3 =A2.derive(B2(#).a:a2,B2(#).b:b2,B2(#).c:c2,C2(#).a:a3,C2(#).b:b3,C2(#).c:c3) 这段代码将3

集算器JDBC的集成与使用方法

集算器JDBC 类似一个不完整的数据库JDBC驱动,它不带物理表,可将集算器视为只有存储过程的数据库(较强的计算能力,较弱的存储机制).与使用数据库JDBC非常类似,可以像调用存储过程一样调用集算器程序.不同的是,集算器JDBC是个完全嵌入式计算引擎,所有运算都在这个嵌入包中完成,而不象数据库那样还有一个独立的服务器来实施计算. 1.加载驱动jar 集算器JDBC所需jar包括:dm.jar.poi-3.7-20101029.jar.log4j_128.jar.icu4j_3_4_5.jar.d

用集算器实现跨数据库关联报表

实际应用中很多报表的数据来源于多个不同类型的数据库,报表数据源跨数据库是报表开发中的常态.目前实现这类跨库关联报表的方式有多种,但都会存在这样那样的问题. 使用报表工具自身多源关联功能 现在大多数主流报表工具都支持多数据源关联,这在某些方面确实为报表用户带来了便利.然而我们也经常会遇到通过报表自身的多源关联功能很难实现一些跨库关联的报表(由于数据结构和业务本身决定).这当然容易理解,报表工具主要是来做数据展现的,而对数据计算本身来说并不擅长. 即使有的能实现,在报表中做跨库关联计算的效率也较低,

集算器协助Java处理结构化文本之分组汇总

直接用Java实现文体文件分组汇总会有如下的麻烦: 1.文件不是数据库,不能用SQL访问.当分组.汇总表达式变化时,只能改写代码.而要实现灵活表达式的话,需要自己实现动态表达式解析和求值,编程工作量非常大. 2.遍历过程中记录分组结果,结果小了还可以存在内存中,如果分组结果太大时要将中间结果缓存进临时文件再归并,实现过程非常复杂. 使用集算器辅助Java编程,这些问题都有现成的类库可以解决.下面,我们通过例子来看一下具体作法. 文本文件employee.txt中保存有员工信息,我们要按照DEPT

集算器用作Java结构化文件计算类库

有时我们不能使用数据库而采用文件系统存储数据,这时就需要自行完成基于文件的数据计算.但JAVA本身缺少相应的类库,需要硬编码才能实现结构化文件计算,代码复杂且可读性差.在网上有许多寻找用于文件计算的Java类库的问题,如: http://www.coderanch.com/t/561180/java/java/read-text-file-perform-operation http://stackoverflow.com/questions/9614112/how-to-sort-and-ar

润乾集算报表的集算器数据集部署(2)

2.WEB端部署 集算报表在web端部署流程与一般J2EE应用部署流程基本一致,包括: 如果和已有应用集成,一般来说已有应用已经配置好了数据库连接池,因此第一.第二步骤可以省略,只需要后面几个步骤. 配置应用服务器的数据库连接池.发布报表应用这两个步骤在不同应用服务器中的操作界面和操作方法是有区别的,举例来说,发布报表应用这个步骤,在weblogic和websphere中一般是发布一个war包或者是ear包,而在tomcat中就是在server.xml或context.xml中配置,可以不打wa

集算器是什么?

集算器是一种程序设计语言,专注于(半)结构化数据计算与处理,提供了丰富的此类运算的类库.集算器不是面向对象的程序设计语言,没有复杂的继承和重载概念,引入对象概念仅仅是为了更方便地描述与对象相关的方法,有BASIC这类初级程序设计水平的程序员都能很快掌握.集算器是基于Java解释执行的动态语言,可以在运行过程中拼出代码执行,这样可以获得更大的灵活性,进一步降低程序设计的复杂度. 集算器定位为(半)结构化数据处理,没有直接提供统计分析.数据挖掘和机器学习等算法,也不擅长处理媒体和地图类数据. 与Ja

集算器如何处理文本计算难题

文本可以说是除了数据库外几乎最常见的数据存储形式,针对文本的计算非常重要.然而文本本身没有计算能力,不象数据库有SQL语法,这样对文本的计算就需要借助程序设计语言编码,而大多数用于文本处理的程序语言都没有集合化的,编写批量运算时很繁琐.比如用Java写个很简单地求和运算就要很多行,如果涉及到过滤分组这种运算就需要几百行代码.近年来新出来的perl,python,R等脚本语言在这些方面有所改善,但对批量结构化计算的支持仍然不足,而且集成性也较差. 还有一种方案是将文本数据导入数据库再利用SQL计算