集算器JDBC

简介: 集算器JDBC 类似一个不完整的数据库JDBC驱动,它不带物理表,可将集算器视为只有存储过程的数据库(较强的计算能力,较弱的存储机制)。与使用数据库JDBC非常类似,可以像调用存储过程一样调用集算器程序。

集算器JDBC 类似一个不完整的数据库JDBC驱动,它不带物理表,可将集算器视为只有存储过程的数据库(较强的计算能力,较弱的存储机制)。与使用数据库JDBC非常类似,可以像调用存储过程一样调用集算器程序。不同的是,集算器JDBC是个完全嵌入式计算引擎,所有运算都在这个嵌入包中完成,而不象数据库那样还有一个独立的服务器来实施计算。

1加载驱动jar

集算器JDBC所需jar包括:dm.jarpoi-3.7-20101029.jarlog4j_128.jaricu4j_3_4_5.jardom4j-1.6.1.jar,这5jar包可以在集算器IDE安装目录的\esProc\ lib下获得。在启动 java 应用程序时加载上述jar包,如果在web应用下,可以把这些 jar包放在 WEB-INF/lib 目录下。

值得注意的是,集算器JDBC需要JDK1.6 或以上版本。

2修改配置文件config.xmldfxConfig.xml

    准备config.xml文件,这个文件中包含了集算器的基本配置信息,如注册码、寻址路径、

主目录、数据源配置等,它可以在集算器安装目录的esProc\config路径下找到,在部署时可以先调整其中的配置(详细配置信息解释见附录)。

    配置授权信息

    在config.xml文件里做如下配置:

< regCode>license</regCode>

其中license为授权码,目前集算器提供了免费的分发版供用户集成,免费授权码可在官网上直接获得。

 config.xml dfxConfig.xml保存到应用项目的类路径下。

这里要注意的是,配置文件的名称必须为config.xmldfxConfig.xml不能改变。在配置数据库连接信息时,不能循环调用,不能将集算器JDBC本身作为数据源在配置中使用。

3部署集算器程序

    将事先编辑好的集算器脚本(dfx文件),放到应用项目的类路径下,也可以放到dfxConfig.xml文件的<paths/>节点指定的路径中。

4Java调用集算器程序

由于集算器程序可以返回单一结果集,也可以返回多个结果集,这里分别来看一下。

4.1单结果集

    集算器脚本

wKiom1QX6Eaz2bKzAACa0MqRBHc552.jpg

Java调用

public class CallSingleRS {

    public voidtestDataServer(){

        Connection con = null;

        com.esproc.jdbc.InternalCStatement st;

    try{

    //建立连接

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

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

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

          st =(com.esproc.jdbc.InternalCStatement)con.prepareCall("call singleRs(?)");

    //设置参数

          st.setObject(1,"5");

    //执行存储过程

          st.execute();

    //获取结果集

          ResultSet rs = (ResultSet)st.getResultSet();

    }

    catch(Exception e){

           System.out.println(e);

        }

    finally{

    //关闭连接

    if (con!=null) {

    try {

              con.close();

            }

    catch(Exception e) {

              System.out.println(e);

            }

          }

        }

    }

}

4.2多结果集

    集算器脚本

wKioL1QX6InTSA6EAACJ7GnszAs914.jpg

Java调用

这里给出主要代码,其他部分与上例相同。

 

//调用存储过程

st =( com.esproc.jdbc.InternalCStatement)con.prepareCall("call MutipleRs()");

//执行存储过程

boolean hasResult = st.execute();

//当存在返回的结果集时

if (hasResult) {

   //获取多个结果集

   ResultSet set = st.getResultSet();

   int csize = set.getMetaData().getColumnCount();

   //返回多个结果集时,返回 1 列多行的数据,csize 1

   while (set.next()) {

     Object o = set.getObject(1);

     //本例中,每次可读出1个序表,分别取出A2A3中的序表

    }

}


目录
相关文章
|
Java 容器
SpringBoot读取resources下的文件以及resources的资源路径
SpringBoot读取resources下的文件以及resources的资源路径
578 0
|
关系型数据库 MySQL Linux
Centos7 环境使用 Docker 安装 Mysql 服务详解
Centos7 环境使用 Docker 安装 Mysql 服务详解
2119 0
Centos7 环境使用 Docker 安装 Mysql 服务详解
|
分布式计算 资源调度 Hadoop
【Flink】版本 1.13+ 集成 Hadoop 问题
【Flink】版本 1.13+ 集成 Hadoop 问题
1059 0
|
SQL 关系型数据库 MySQL
MysqlClient安装步骤详解
MysqlClient安装步骤详解
2617 0
|
安全
【Shiro】2、Shiro实现Session会话过期时间控制
一般我们的 session 会话过期时间默认为 30 分钟,有的用户认为 30 分钟太短了,有时候临时有事出去了,回来已经过期了,工作还没完成就只能登出了,非常不方便,于是要求我们改变 session 的过期时间
1412 0
|
流计算
Flink CDC进行数据同步选择字段
Flink CDC进行数据同步选择字段
308 1
|
JavaScript
npm install报错error 404 Not Found - GET https://registry.npm.taobao.org/@xt
1.问题场景: 2.解决办法 2.1先查看有没有设置代理 2.2重新设置
1487 0
npm install报错error 404 Not Found - GET https://registry.npm.taobao.org/@xt
|
Java Spring
获取 /resources 目录资源文件的 9 种方法,还有谁不会?!-1
获取 /resources 目录资源文件的 9 种方法,还有谁不会?!
621 0
Spring Boot、Spring Cloud 自定义配置文件(如何整合配置中心)
Spring Boot配置 在spring中我们都知道所有配置定义在配置文件 application.yml 中我们就可以通过注解获取到。 Spring 中对所有配置管理都有一个统一的上层接口 Environment 实现类图
|
消息中间件 JSON 安全
由文件权限引发的flink实践坑解决经过
现在参照@Jeff Zhang 简锋的教程进行Flink on Zeppelin的实时Streaming读写数据,学习在Zeppelin中使用Flink的Streaming功能。但在练习过程中,在搭建环境和进行测试数据导入时,出现了问题。以下就是出坑经历。
604 0