润乾报表如何远程调用集算器脚本文件
在远程服务器192.168.2.12上有一个集算器企业版脚本文件,本机192.168.2.4的报表想要远程调用这个脚本文件,那就需要通过企业版的分机服务器和集算器jdbc来完成,具体步骤如下:
1. 安装集算器企业版
在远程服务器192.168.2.12上安装集算器企业版,并设置企业版系列号。
2. 启动分机服务器
在 [集算器企业版安装目录]\esProc\bin 路径下,可以找到esprocsEE.exe或者ServerConsoleEE.bat(linux下为ServerConsoleEE.sh)文件,直接运行它来启动或配置服务器。
切换到【分机 服务器】,点击【选项】,设置主目录、日志级别等信息:
点击【配置】,设置分机列表:
设定客户端白名单,如下:
选定 【启用】后,可以在客户机名单列表中,设定允许调用服务器的 IP 地址白名单,不在设定范围中的 IP 地址将无法调用服务器执行计算。
服务器设定完成后,点击 【确定】保存配置,此时自动设定对应的配置文件unitServer.xml,该文件位于 [集算器企业版安装目录]\esProc\config 中。
启动服务器:
3. 配置脚本文件中的数据源
远程调用的示例脚本用到了hsql数据库,所以需配置hsql数据源。
集算器中,通过工具 - 数据连接,新建数据源,如下图所示:
如果使用其他数据库,需自行准备数据库JDBC驱动,放入[集算器企业版安装目录]\common\jdbc中。
前面通过界面配置的系列号、主目录、日志级别、数据源等信息,都会自动保存到配置文件raqsoftConfig.xml,该文件位于 [集算器企业版安装目录]\esProc\config 中。
4. 启动数据库
示例脚本中的数据源用的产品自带的demo数据库。在192.168.2.12的[集算器企业版安装目录]\esProc\bin下启动startDataBase.bat(linux下启动startDataBase.sh)。
5. 脚本文件
集算器脚本jdbc_test.splx内容如下:
A |
|
1 |
=connect("hsql").query@v("select EID,NAME,GENDER,DEPT,BIRTHDAY from employee") |
2 |
=A1.sort@v(BIRTHDAY) |
3 |
return A2 |
该脚本对employee表中的雇员按生日进行排序,A2返回值为纯序表。query@v和sort@v为集算器企业版功能。
将脚本放到192.168.2.12上集算器企业版的主目录中,也就是步骤2中设置的主目录D:\files。
6. 部署企业版jar包
从[集算器企业版安装目录]/esProc/lib下拷贝esproc-ent-*.jar和esproc-ext-*.jar(最好一并更新集算器企业版中的esproc-bin-*.jar,以免出现兼容问题),放到[润乾报表安装目录]\report\web\webapps\demo\WEB-INF\lib下。
调用脚本的返回值为非企业版功能时,该步骤可省略。
7. 部署 raqsoftConfig.xml
在配置文件raqsoftConfig.xml中指定远程访问服务器的ip及端口号。该文件位于[集算器企业版安装目录]\esProc\config 下,将文件复制到192.168.2.4润乾报表的类路径里,此时配置文件的名称不可更改。然后手动在文件的<JDBC> ... </JDBC>节点里加上以下代码:
<Units>
<Unit>192.168.2.12:8281</Unit>
</Units>
8. 润乾报表中配置数据源
润乾报表中,通过工具 - 数据源菜单,新建数据源,选择"esProc"类型。
onlyServer用于控制当前jdbc是否对服务器进行远程计算,为true表示远程计算;false时表示本地计算。
在使用集算器JDBC时,会自动在类路径中加载raqsoftConfig.xml,此时配置文件是不能改名的。但是如果集算器JDBC的连接串中使用了...?config=...的格式,即会加载连接串中config所指定的.xml文件作为配置,而忽略默认配置raqsoftConfig.xml中的定义。
例如:数据源URL:jdbc:esproc:local://onlyServer=true&config=E:/files/myconfig.xml,则使用myconfig.xml中的配置。
9. 设计报表
润乾报表中,通过文件 - 新建报表,使用第8步配置的数据源PJDBC,并选择"存储过程"类型的数据集。
在存储过程数据集界面,输入:call jdbc_test()
点击【确定】。此时可在192.168.2.12的分机服务器窗口中,看到服务器执行计算的相关信息:
生成网格报表:
报表预览结果: