本节内容,非应用程序员可以跳过,不影响正常阅读。
集算器可以嵌入Java应用,使用类似JDBC的连接,就可以调用集算器编写的网格程序。调用方法与存储过程相同。下面将简单讲述JDBC的基本用法。
集算器JDBC类似一个不完整的数据库JDBC驱动,它不带物理表,因此可以把它简单的看成是一个只有存储过程的数据库。另外,集算器JDBC有完全嵌入式的计算引擎,不需要独立的服务器。
集算器JDBC包含两个基础jar包,都位于[安装目录]\esProc\ lib目录下:
esproc-bin-xxxx.jar 集算器计算引擎及JDBC驱动包
icu4j_60.3.jar 处理国际化
如果在集算器JDBC需要其它数据库作为集算器中的数据源,那么还需要相应数据库的驱动jar包,比如,使用demo数据库需要hsqldb-2.7.3-jdk8.jar。需要注意的是,集算器JDBC需要JDK1.8或以上版本。
在网格代码中,结果集通过return语句返回。
|
A |
1 |
=connect("demo") |
2 |
=A1.query("select * from EMPLOYEE where EID=?",arg1) |
3 |
>A1.close() |
4 |
return A2 |
在程序代码中,arg1是一个网格参数。将此脚本文件命名为test.splx。
注意:脚本文件的结果集用return来返回,在调用脚本文件时,其中接收参数的参数名不会用到,而是按照参数的顺序来依次赋值。
1. 加载需要用到的jar包。在启动java应用程序时加载上一节中说明的esproc-bin-xxxx.jar等jar包,如果在web应用下,可以把这些jar包放在WEB-INF/lib目录下。
2. 部署raqsoftConfig.xml及脚本文件。
准备raqsoftConfig.xml文件,这个文件中包含了集算器的基本配置信息,如寻址路径、数据源配置等,它可以在集算器安装目录的esProc\config路径下找到,其中存储的信息与集算器的选项页面中设定相同。在部署时可以先调整其中的配置,如修改寻址路径(Searching path)(用于寻找脚本文件):
也可以在数据源管理器中配置脚本文件中需要使用的数据源:
修改完成后,就可以将raqsoftConfig.xml保存到应用项目的类路径下。
将步骤1中创建的test.splx放到应用项目的类路径下,也可以放到配置文件的<splPathList/>节点指定的路径中(即前面提到的寻址路径)。
3. 如有需要则继续手工配置raqsoftConfig.xml文件,具体的方法请参考相关文档。注意:配置文件的名称不能改变。
4. 在JAVA中调用脚本文件。
public void testDataServer(){
Connection con = null;
java.sql.CallableStatement st;
java.sql.PreparedStatement st2;
try{
//建立连接
Class.forName("com.esproc.jdbc.InternalDriver");
con= DriverManager.getConnection("jdbc:esproc:local://");
//调用存储过程,其中test是脚本文件的文件名
st =con.prepareCall("call test(?)");
//设置参数
st.setObject(1,"3");
//下面的语句和上面的调用方法效果相同
st =con.prepareCall("call test(3)");
//执行存储过程
st.execute();
//获取结果集
ResultSet set = st.getResultSet();
}
catch(Exception e){
System.out.println(e);
}
finally{
//关闭连接
if (con!=null) {
try {
con.close();
}
catch(Exception e) {
System.out.println(e);
}
}
}
}
更多的调用方法和配置信息请参考应用集成中的内容。