JDBC 部署

阅读(711) 标签: jdbc部署,

集算器可以JDBC方式被JAVA程序调用,在这里我们将了解一下集算器JDBC的部署步骤,以及配置文件中的具体信息。

集算器 JDBC 的基本部署

在部署集算器JDBC时,需要按照如下步骤:

1. 加载需要用到的jar

在启动JAVA应用程序时需要加载集算器所需的jar包,如果在web应用下,可以把这些jar包放在WEB-INF/lib目录下。集算器JDBC需要三个基础jar包,都可以在[安装目录]\esProc\lib目录下找到:

  dm.jar    集算器计算引擎及JDBC驱动包

  icu4j_3_4_5.jar    处理国际化

  jdom.jar    解析配置文件

除了基础包外,还有一些为完成特定功能的jar包,都在esProc\lib目录下:

如果要在集算器JDBC用其它数据库作为集算器的数据源,那么还需要相应数据库的驱动jar包,特别的,使用demo数据库需要hsqldb.jar

如果要在集算器JDBC中读写Microsoft Office文件,则需要加入geronimo-stax-api_1.0_spec-1.0.jarpoi*.jarxmlbeans-2.3.0.jar

如果要在集算器JDBC中使用绘制图形功能,则需要加入SVG图形处理相关的jar包,包括batik*.jarjs.jarpdf-transcoder.jarxalan-2.6.0.jarxercesImpl.jarxml-apis.jarxml-apis-ext.jar

需要需要注意的是,集算器JDBC需要JDK1.6或更高版本。

2. 部署raqsoftConfig.xml文件

配置文件raqsoftConfig.xml可以在[安装目录]\esProc\config下找到,需复制后放置在应用项目的类路径下,配置文件的名称都不能改变。关于配置文件的具体信息,将在6.3.2配置raqsoftConfig.xml中讲述。

3. 部署dfx文件

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

4. JAVA中调用集算器JDBC

关于在JAVA中调用dfx文件,或者直接执行代码的方法,请参考6.2Java调用

配置 raqsoftConfig.xml

raqsoftConfig.xml文件中,配置了授权信息、集算器主路径、dfx文件寻址路径等各类信息。如下所示:

<?xml version="1.0" encoding=" UTF-8"?>

< Config Version="2">

  <Runtime>

  <!-- 数据源配置方法一:在应用服务器中配置连接池,在此指定数据源名称 -->

  <DBList>

  <!-- 数据源名称,必须与dfx文件中的数据源名称一致 -->

  <DB name="demo">

  <property name="url" value="jdbc:hsqldb:hsql://127.0.0.1/demo"/>

  <property name="driver" value="org.hsqldb.jdbcDriver"/>

  <property name="type" value="HSQL"/>

  <property name="user" value="sa"/>

  <property name="password" value=""/>

  <property name="batchSize" value="1000"/>

    <!--

  是否自动连接。如果设定为true,则可以直接使用db.query()函数或者$开头的SQL语句来访问数据库;如果为false,则不会自动连接,使用前必须用connect(db)语句创建数据库连接。

  -->

  <property name="autoConnect" value="true"/>

  <property name="useSchema" value="false"/>

  <property name="addTilde" value="false"/>

    <property name="dbCharset" value="GBK"/>

    <property name="clientCharset" value="GBK"/>

    <property name="needTransContent" value="false"/>

    <property name="needTransSentence" value="false"/>

    <property name="caseSentence" value="false"/>

  </DB>

    <DB name="hsql">

    <property name="url" value="jdbc:hsqldb:hsql://localhost/demo"/>

    <property name="driver" value="org.hsqldb.jdbcDriver"/>

    <property name="type" value="HSQL"/>

    <property name="user" value="sa"/>

    <property name="password"/>

  <property name="batchSize" value="0"/>

    <property name="autoConnect" value="false"/>

    <property name="useSchema" value="false"/>

     <property name="addTilde" value="false"/>

    <property name="dbCharset" value="GBK"/>

    <property name="clientCharset" value="GBK"/>

    <property name="needTransContent" value="false"/>

    <property name="needTransSentence" value="false"/>

    <property name="caseSentence" value="false"/>

    </DB>

  </DBList >

  <Esproc>

  <license>E:\tools\raqsoft\esProc\esproc.xml</license>

  <!-- 集算器字符编码-->

  <charSet>ISO-8859-1</charSet>

  <!--

  配置dfx文件寻址路径,该路径为绝对路径,可以设置多个路径,以“;”隔开。

dfx文件的路径也可以放在应用项目的类路径中,加载文件的顺序高于寻址路径

  -->

  <dfxPathList>

  < dfxPath>D:\files\dfx;D:\files\txt;D:\files</dfxPath>

  </dfxPathList>

  <!-- 日期、时间等类型的数据格式 -->

  <dateFormat>MM/dd/yyyy</dateFormat>

  <timeFormat>HH:mm:ss</timeFormat>

  <dateTimeFormat>MM/dd/yyyy HH:mm:ss</dateTimeFormat>

  <!-- 集算器主路径,该路径为单一的绝对路径 -->

  <mainPath> D:\files</mainPath>

  <!-- 临时文件存储路径,可以使用绝对路径,当设置路径为相对路径时,将设置在主路径下,相对路径不能以“/”或“\”开头-->

  <tempPath>temp</tempPath>

  <bufSize>65536</bufSize>

  <localHost>192.168.0.86</localHost>

  <localPort>8282</localPort>

    <logLevel>DEBUG</logLevel>

    <callxParallel>4</callxParallel>

    <nodeParallel>4</nodeParallel>

    <zoneLockTryTime>3600</zoneLockTryTime>

  </Esproc>

  <Logger>

    <Level>DEBUG</Level>

  </Logger>

   </Runtime>

  <Server>

  <!—默认数据连接,可以是DBList或下面JNDIList中的某一个 -->

  <defDataSource>demo</defDataSource>

  <JNDIList>

  <!-- 数据源名称,必须与dfx文件中的数据源名称一致 -->

  < JNDI name="demo">

  <property name="url" value="jdbc:hsqldb:hsql://127.0.0.1/demo"/>

  <property name="driver" value="org.hsqldb.jdbcDriver"/>

  <property name="type" value="HSQL"/>

  <property name="user" value="sa"/>

  <property name="password" value=""/>

  <property name="batchSize" value="1000"/>

    <!--

  是否自动连接。如果设定为true,则可以直接使用db.query()函数来访问数据库;如果为false,则不会自动连接,使用前必须用connect(db)语句连接。

  -->

  <property name="autoConnect" value="true"/>

  <property name="useSchema" value="false"/>

  <property name="addTilde" value="false"/>

  <property name="dbCharset" value="GBK"/>

  <property name="clientCharset" value="GBK"/>

  <property name="needTransContent" value="false"/>

  <property name="needTransSentence" value="false"/>

  <property name="caseSentence" value="false"/>

  </JNDI>

  </JNDIList >

  <!— 日志配置文件 -->

  <logConfig>raqsoftLog.properties</logConfig>

  </Server>

  <JDBC>

  <!—是否读Runtime下配置和ServerJNDIList,不需要读哪一个则删除哪一个 -->

  <load>Runtime,Server</load>

  <!—配置了JDBC网关后所有语句均由dfx解析并返回序表或游标,dfx只有参数sqlargs(sql参数值序列) -->

  <gateway>executeSQL.dfx</gateway>

  </JDBC>

</Config>

集算器JDBC使用的raqsoftConfig.xml文件与IDE下使用的配置是同一文件。因此,可以在IDE下配置所需信息。

首先是授权文件的设定,在IDE中首次运行集算器,需要选择授权文件。在菜单栏中选择Help>About,可以查看授权信息。

在菜单栏中选择Tool>Options,即可在Option窗口中编辑各种主要的配置信息。和JDBC相关的最主要信息都在Environment页面中,如路径设定,日期时间格式等:

General页面中,也有一些与JDBC相关的设定,如日志等级、并行设定等:

除了上面的设定,raqsoftConfig.xml文件中的数据源信息可以在数据源管理器中配置。在菜单栏中点击Tool>Datasource connection可以打开数据源管理器窗口:

在数据源管理器中,可以增删或者修改数据源配置。点击Edit可以编辑数据源的连接参数:

其中可以设定数据源使用的驱动类、连接URL,用户名、密码、批处理大小等。注意demo数据源是系统数据源,是不能修改连接参数的。另外,在配置数据源连接信息时需注意,不能把集算器JDBC本身作为数据源使用。

<Server/>节点中,配置了连接池设定、日志配置文件等信息。如果在集算器JDBC调用的dfx文件中,需要连接数据源,那么必须在raqsoftConfig.xml的数据源配置或者连接池配置中设定。特别的,如果用db.query() 函数或者$(db) sql直接访问数据库,对应数据库的autoConnect属性必须为true。关于集算器JDBC的具体使用,请参阅6.2JAVA调用

日志配置属性文件raqsoftLog.properties可以配置日志级别等信息,如下:

//日志级别可为OFF,ERROR,WARN,INFO,DEBUG,ALL, 优先级依次降低,若为OFF则不输出任何

//日志信息;若为INFO,则只输出ERROR,WARN,INFO等级别的信息,依次类推。

//指定Logger的级别,以及名称

//格式为:Level(Level可以省略,缺省为INFO), 日志名1,日志名2

Logger=LOG1

 

//输出日志到系统控制台。日志只有两种输出形式,控制台或者文件。

LOG1=Console

//日志记录级别,优先级低于该级别的信息将被忽略,该项可以省略,缺省级别为:INFO

LOG1.Level=DEBUG

 

//输出日志到指定文件

//可以指定LOG2的全路径, 若未指明,则为应用的当前工作路径

LOG2=C:/raqsoft.log

 

//日志采用追加模式,可以不指定,缺省为追加

LOG2.Append=true

 

//日志文件的最大字节数,可以不指定,缺省为无限大

LOG2.MaxFileSize=10MB

 

//日志文件的最多备份数,可以不指定,缺省为1

LOG2.MaxBackupIndex=2

//LOG2.Level=DEBUG

 

在使用集算器JDBC时,会自动在JAVA应用的类路径中加载raqsoftConfig.xml,此时配置文件是不能改名的。但是,如果集算器 JDBC的连接串中使用了...?config=...的格式,即会加载连接串中raqsoftConfig所指定的.xml文件作为配置,而忽略默认配置raqsoftConfig.xml中的定义。

例如:con= DriverManager.getConnection("jdbc:esproc:local:/?config=myconfig.xml"); 则使用myconfig.xml中的配置。