1)配置数据源的方式之一:直接配置数据库数据源连接参数。
  config.xml文件:
<DBList>
<!-- 数据源名称,必须与dfx文件中的数据源名称一致 -->
<DBname="demo">
<propertyname="url" value="jdbc:hsqldb:hsql://127.0.0.1/demo"/>
<propertyname="driver" value="org.hsqldb.jdbcDriver"/>
<propertyname="type" value="HSQL"/>
<propertyname="user" value="sa"/>
<propertyname="password" value=""/>
<propertyname="batchSize" value="1000"/>
<!--
是否自动连接。如果设定为true,则可以直接使用db.query()函数来访问数据库;如果为false,则不会自动连接,使用前必须用connect(db)语句连接。
-->
<propertyname="autoConnect" value="true"/>
<property name="useSchema"value="false"/>
<propertyname="addTilde" value="false"/>
</DB>
</DBList>
  2)配置数据源的方式之二:在Java应用中配置连接池和jndi,在dfxConfig.xml文件中指定jndi名称。
  dfxConfig.xml文件:
<jndi-ds-configs>
<!-- jndi前缀 -->
<jndi-prefix>java:comp/env</jndi-prefix>
<!-- 数据源名称,必须与dfx文件中的数据源名称一致 -->
<jndi-ds-config>
<name>demo</name>
<dbType>HSQL</dbType>
<dbCharset>ISO-8859-1</dbCharset>
<clientCharset>ISO-8859-1</clientCharset>
<needTranContent>false</needTranContent>
<needTranSentence>false</needTranSentence>
<!--
是否自动连接。如果设定为true,则可以直接使用db.query()函数来访问数据库;如果为false,则不会自动连接,使用前必须用connect(db)语句连接。
-->
<autoConnect>true</autoConnect>
</jndi-ds-config>
</jndi-ds-configs>
  需要说明的是:
  配置文件的名称必须为config.xml和dfxConfig.xml,不能改变。
  在配置数据库连接信息时,要注意不能循环调用,不能将集算器JDBC本身作为数据源在配置中使用。
  如果两种方式都配置了同名的数据源,以config.xml中的为准。
  5、  部署dfxConfig.xml、config.xml和test.dfx文件。
  将dfxConfig.xml、config.xml放入Java应用的类路径下(classpath),也可以直接打包到dm.jar中。
  将test.dfx文件放到Java应用的类路径下,也可以放到dfxConfig.xml文件的<paths/>节点指定的路径中。
  6、  在java程序中调用test.dfx。
  如果集算器 JDBC的连接串中使用了...?config=...;即用该.xml文件中的配置,忽略config.xml中的定义;连接串中无config参数时则用默认配置。
  例如:con=DriverManager.getConnection("jdbc:esproc:local://?config=myconfig.xml");则使用myconfig.xml中的定义。
  样例代码如下:
public voidtestDataServer(){
Connection con = null;
com.esproc.jdbc.InternalCStatementst;
com.esproc.jdbc.InternalCStatement st2;
try{
//建立连接
Class.forName("com.esproc.jdbc.InternalDriver");
con=DriverManager.getConnection("jdbc:esproc:local://");
//调用存储过程,其中test是dfx的文件名
st =(com.esproc.jdbc.InternalCStatement)con.prepareCall("calltest(?)");
//设置参数
st.setObject(1,"3");
//下面的语句和上面的调用方法效果相同
st =(com.esproc.jdbc.InternalCStatement)con.prepareCall("calltest(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);
}
}
}
}