最新消息:本站持续更新中,请注意添加收藏夹。搜索关键词时,多换一个同义词。比如要搜索界面,可以尝试页面,画面,PER档等词汇。善于搜索,将大大提高你的查找效率。

e-cology配置接口之外部数据源

实施与配置 bron1984 5279浏览

外部数据源

一、接口说明

该接口主要用来在e-cology配置和异构系统的数据库的链接方式,通过此链接在e-cology中直接操作其他系统的数据。该接口适用于SQLSERVER,ORACLE,MYSQL,DB2,INFORMIX,SYBASE结构型数据库。

二、使用说明

1、配置数据源

可通过两种方式配置外部数据源,一种是修改配置文件(此方式需要重新resin服务器),另一种是通过可视化页面进行配置(此方式无需重启resin服务器):

(1)修改配置文件datasource.xml(该文件位于/ecology/WEB-INF/service/datasource.xml),配置文件内容如下图所示:

<?xml version=”1.0″ encoding=”UTF-8″?>

<module id=”datasource” version=”1.0.0″>

<service-point id=”other” interface=”weaver.interfaces.datasource.DataSource”>

<invoke-factory>

<construct class=”weaver.interfaces.datasource.BaseDataSource”>

<set property=”type” value=”oracle” />

<set property=”host” value=”127.0.0.1″ />

<set property=”port” value=”1521″ />

<set property=”dbname” value=”orcl” />

<set property=”user” value=”other” />

<set property=”password” value=”other” />

<set property=”minconn” value=”5″ />

<set property=”maxconn” value=”10″ />

</construct>

</invoke-factory>

</service-point>

</module>

其中,数据源配置文件上的各个属性分别表示:

  • ID:引用数据源的唯一标识,该配置文件中不能重复
  • Type:数据库类型(sqlserver2000, sqlserver2005, sqlserver2008,oracle,mysql,Informix,db2,sybase)
  • Host:数据库服务器地址
  • port:数据库服务的端口号
  • Dbname:数据库名(实例名)
  • User:访问数据库的用户名
  • password:访问数据库的密码
  • minconn:访问该数据库最大连接
  • maxconn::访问该数据库最小连接

(2)通过可视化页面(访问菜单:【设置】=》【设置中心】=》【外部接口设置】=》【数据源配置】进行访问;也可以直接访问地址/servicesetting/datasourcesetting.jsp页面进行访问),如下图所示:

右键点击【新建】菜单,即可进入如下界面进行配置:

  • 数据源名称:即xml配置中的id; 这个是引用该数据源的唯一标识
  • 数据库类型:即xml配置中的Type:数据库类型(sqlserver2000, sqlserver2005, sqlserver2008,oracle,mysql,Informix,db2,sybase)
  • 服务器ip:即xml配置中的Host: 数据库服务器地址
  • 端口号:即xml配置中的port:数据库服务的端口号
  • 数据库名:即xml配置中的Dbname:数据库名(实例名)
  • 用户名:即xml配置中的User:访问数据库的用户名
  • 密码:即xml配置中的password:访问数据库的密码
  • 最小连接数:即xml配置中的minconn,maxconn: 访问该数据库最小连接
  • 最大连接数:即xml配置中的minconn,maxconn: 访问该数据库最大连接

2、使用数据源

在ecology中使用数据源可以通过两种方式调用,如下所示:

(1)通过数据源获取数据库连接,如下示例:

List<String> data = new ArrayList<String>();

DataSource ds = null;

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

try{

ds = (weaver.interfaces.datasource.DataSource) StaticObj.getServiceByFullname((“datasource.other”), weaver.interfaces.datasource.DataSource.class);

conn = ds.getConnection();

ps = conn.prepareStatement(“SELECT 1 FROM DUAL”);

rs = ps.executeQuery();

while(rs.next()){

data.add(rs.getString(1));

}

} catch(Exception e){

e.printStackTrace();

} finally {

if(rs != null){

try {

rs.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if(ps != null){

try {

ps.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

if(conn != null){

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

以上调用通过以下关键代码获取数据库连接:

weaver.interfaces.datasource.DataSource ds = (weaver.interfaces.datasource.DataSource) StaticObj.getServiceByFullname((“datasource.数据源名称”), weaver.interfaces.datasource.DataSource.class);
java.sql.Connection conn = ds.getConnection();

(2)通过weaver.conn.RecordSetDatasource类进行外部数据源的连接,如以下示例代码:

List<String> data = new ArrayList<String>();

RecordSetDataSource rs = null;

try{

rs = new RecordSetDataSource(“other”);

if(rs.executeSql(“SELECT 1 FROM DUAL”)){

while(rs.next()){

data.add(rs.getString(1));

}

}

} catch(Exception e){

e.printStackTrace();

}

以上关键代码为:

RecordSetDataSource rs = new RecordSetDataSource(数据源名称);

转载请注明:赫非域 » e-cology配置接口之外部数据源