元数据文件在本地时,用户可使用嵌入式方法,将DQL快速集成到自己的项目中,此时无需部署DQL Server。具体步骤如下:
(一) 加载所需jar包
将以下jar包添加到项目lib目录,获取路径为报表[安装根目录]\report\web\webapps\demo\WEB-INF\lib。
datalogic-***.jar DQL计算引擎及JDBC驱动包
esproc-bin-***.jar DQL基础包
json-20240303.jar 解析json格式串
report-***.jar 润乾报表核心包
DQL连接的有物理数据源,还需要添加对应数据库的驱动jar包。本例逻辑数据库底层连接的物理数据源是HSQL数据库,也需要引入HSQL驱动包hsqldb-2.7.3-jdk8.jar,获取路径为报表[安装根目录]\common\jdbc。
(二) 配置文件
raqsoftConfig.xml中需要配置授权和数据源信息,内容如下:
<Runtime>
<DBList>
<DB name="dqldemo">
<property name="url" value="jdbc:hsqldb:hsql://127.0.0.1/dqldemo" />
<property name="driver" value="org.hsqldb.jdbcDriver" />
… …
</DB>
</DBList>
<Report>
<license>E:\licenses\defaultlicensetrial_zh.xml</license>
… …
</Report></Runtime>
DBList:配置DQL使用的物理数据源信息,单物理数据库时可省略,省略时需在JDBC的url中通过db.指定。
license:润乾报表授权。按绝对路径和类路径次序查找授权文件。
(三) DQL JDBC的连接方法
驱动 — com.datalogic.jdbc.LogicDriver
URL分3种类型:
1) 单物理数据库
在配置文件中配置db,URL为:
jdbc:datalogic://?lmd=[]&dct=[]&vsb=[]&db=[]&config=[]
配置文件中不配置db,而是通过db.指定db的各个参数,URL为:
jdbc:datalogic://?lmd=[]&dct=[]&vsb=[]&db.url=[]&db.driver=[]&db.user=[]&db.password=[]&db.type=[]&config=[]
2) 使用JNDI连接池方式
需要配置数据库连接池,URL为:
jdbc:datalogic://?lmd=[]&dct=[]&vsb=[]&jndi=[]&jndi.type=[]&config=[]
3) 多物理数据库
在配置文件中配置多个db,URL为:
jdbc:datalogic://?lmd=[]&mdb=db1:demo1.lmd,db2:demo2.lmd,...&config=[]
URL参数:
lmd:元数据文件,由DQL元数据层设计器生成。
dct:字典文件,由DQL元数据层设计器生成。
vsb:可视文件,由DQL元数据层设计器生成。
config:上一步的配置文件,文件名可自定义。参数可省略,省略时在类路径下找raqsoftConfig.xml。
db:数据源名称,在配置文件中配置。
db.url:数据库连接URL。
db.driver:数据库驱动类。
db.user:数据库用户名。
db.password:数据库密码。
db.type:数据库类型编号:[UNKNOWN:0;ORACLE:1;SQLSVR:2;SYBASE:3; SQLANY:4;INFMIX:5;FOXPRO:6;ACCESS:7;FOXBAS:8;DB2:9;MYSQL:10; KINGBASE:11;DERBY:12;HSQL:13;TERADATA:14;POSTGRES:15;DATALOGIC:16;IMPALA:17;DBOne:20;ESPROC:21;DAMENG:22;ESSBASE:101。
jndi: JNDI服务提供者的URL。
参数中的文件可使用绝对路径或者相对路径,相对路径时相对于类路径。