被 JAVA 调用

阅读(3274) 标签: java集成调用,

本节内容,非应用程序员可以跳过,不影响正常阅读。

可以将集算器嵌入到Java应用程序中。使用时类似于用JDBC访问数据库的方式调用集算器网格程序。在过程中,网格程序被包装成存储过程,因此调用方法与调用存储过程相同。

基本使用

集算器JDBC类似一个不带物理表的数据库JDBC驱动,可以把它简单的看成是一个只有存储过程的数据库。另外,集算器JDBC是个完全嵌入式计算引擎,已经在JDBC中完成了所有运算,不象数据库那样JDBC只是个接口,实际运算在独立的数据库服务器完成。

可参考JDBC部署 先完成程序的部署。

集算器JDBC使用的网格文件

与用call函数跨网格调用时类似,在集算器JDBC中使用的网格代码中,结果集需要通过return语句返回。如下面的网格文件createTable1.dfx

 

A

B

1

=create(ID,Amount)

 

2

for 100

>A1.insert(0,#A2,rand(100*100))

3

return A1

 

这个网格中的计算比较简单:生成一个100条记录的序表,包含顺序设定的ID字段与随机生成的Amount字段。在A3中,用return语句将A1中的序表返回。

下面我们将使用这个网格文件,熟悉在JAVA中调用集算器JDBC的方法。

JAVA调用的基本方法

在调用集算器执行网格文件前,首先需要按下面步骤配置相关的信息:

1. 加载需要用到的jar包。在启动JAVA应用程序时需要的jar包(JDBC 中有jar包说明),如果在web应用下,可以把这些jar包放在WEB-INF/lib目录下

 

2. 部署raqsoftConfig.xml

raqsoftConfig.xml中包含了集算器的基本配置信息,如授权、寻址路径、主目录、数据源配置等,以及集算器的并发数等信息,日志文件信息以及连接池信息,它可以在集算器的[安装目录]\esProc\config路径下找到,其中存储的信息与集算器的选项页面中设定相同。在部署时可以先调整其中的配置。

注意:配置文件需复制后放置在应用项目的类路径下,但名称必须为raqsoftConfig.xml,不能改变。关于配置文件的具体解释,可以参考JDBC

 

3. 部署dfx文件

将上面的createTable1.dfx放到应用项目的类路径下,也可以放到raqsoftConfig.xml文件的<dfxPathList/>节点指定的寻址路径,或者<mainPath/>指定的主路径中。

4. JAVA中调用dfx

public void testDataServer(){

Connection con = null;

java.sql.PreparedStatement st;

try{

//建立连接

Class.forName("com.esproc.jdbc.InternalDriver");

con= DriverManager.getConnection("jdbc:esproc:local://");

//调用存储过程,其中createTable1dfx的文件名

st =con.prepareCall("call createTable1()");

//执行存储过程

st.execute();

//获取结果集

ResultSet rs = st.getResultSet();

raqsoftConfig.xml