集算器访问数据库的配置
作者:网络转载 发布时间:[ 2014/9/25 11:29:56 ] 推荐标签:数据库 软件开发 集算器
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);
}
}
}
}
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-61079698-8054),我们将立即处理,马上删除。
相关推荐
在测试数据库性能时,需要注意哪些方面的内容?测试管理工具TC数据库报错的原因有哪些?怎么解决?数据库的三大范式以及五大约束编程常用的几种时间戳转换(java .net 数据库)优化mysql数据库的几个步骤数据库并行读取和写入之Python实现深入理解数据库(DB2)缓冲池(BufferPool)国内三大云数据库测试对比预警即预防:6大常见数据库安全漏洞数据库规划、设计与管理数据库-事务的概念SQL Server修改数据库物理文件存在位置使用PHP与SQL搭建可搜索的加密数据库用Python写一个NoSQL数据库详述 SQL 中的数据库操作详述 SQL 中的数据库操作Java面试准备:数据库MySQL性能优化

sales@spasvo.com