结构图如下:
BIRT 中调用 SPL,首先需要将集算器 JDBC 集成到 BIRT 设计器中,简单来说就是,将加载集算器所需的 jar 包及配置文件放到 BRIT 对应目录中。需要注意的是,集算器 JDBC 所要求的 JDK 版本不得低于 1.6。
1. 加载驱动 jar
集算器 JDBC 类似一个不带物理表的数据库 JDBC 驱动,可以把它简单的看成是一个只有存储过程的数据库。另外,集算器 JDBC 是个完全嵌入式计算引擎,已经在 JDBC 中完成了所有运算,不像数据库那样 JDBC 只是个接口,实际运算在独立的数据库服务器完成。
集算器 JDBC 需要三个基础 jar 包,都可以在 [安装目录]\esProc\lib 目录下找到:
dm.jar //集算器计算引擎及JDBC驱动包
icu4j_3_4_5.jar //处理国际化
jdom.jar //解析配置文件
获取到以上 Jar 后,将其拷贝至 Birt [安装目录]\plugins\org.eclipse.birt.report.data.oda.jdbc_4.6.0.v20160607212\driver 下。注意:不同 birt 版本 driver 的上层目录名略有不同
除了以上的必需 jar,还有一些为完成特定功能的 jar 包:
比如数据库作为数据源,那么还需要相应数据库的驱动 jar 包;
要读写 Office 文件,则需要加入 poi*.jar 和 xmlbeans.jar。
要使用绘制图形功能,则需要加入 SVG 图形处理相关的 jar 包,包括 batik*.jar、js.jar、pdf-transcoder.jar、xalan-2.6.0.jar、xercesImpl.jar、xml-apis.jar、xml-apis-ext.jar。
2. 部署 raqsoftConfig.xml
集算器还有个重要的配置文件 raqsoftConfig.xml,可以在 [安装目录]\esProc\config 下找到, 该文件中配置了授权信息、集算器主路径、dfx 文件寻址路径等各类信息。同样将其拷贝至 Birt [安装目录]\plugins\org.eclipse.birt.report.data.oda.jdbc_4.6.0.v20160607212\driver 下。
注意:配置文件的名称不可改变。
我们先看下最基本的配置,即集算器授权文件配置:
<?xml version="1.0" encoding=" UTF-8"?>
< Config Version="2">
<Runtime>
<Esproc>
<!--集算器授权文件配置,可以是绝对路径,也可以是相对路径,使用相对路径时是相对于类路径-->
<license>esproc.xml</license>
<!--试用授权文件可从润乾公司官网中下载-->
</Esproc>
</Runtime>
</Config>
BRIT 报表中调用 SPL
BRIT 调用 SPL,其原理就是将集算器 JDBC 作为数据源,然后将类 SQL 语句的集算器 SPL 脚本作为数据集,从而在报表中调用 SPL 脚本执行后的结果集。
1. Birt 开发工具内新建报表并增加 esprocJDBC 数据源
新建报表,在“DataSources”下新建 JDBC Data Source 类型数据源,并定义数据源名称为:esprocJDBC。
点击【Next】,在 Dirver Class 中选择驱动类名com.esproc.jdbc.InternalDriver (v1.0),填写 Database URL 为:jdbc:esproc:local://,用户名和密码为空。