首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

db.proterties里面怎样设置才能配置oracle9数据库连接池 不配置.xml文件 新手请给小弟我详细过程和代码

2011-11-22 
db.proterties里面怎样设置才能配置oracle9数据库连接池 不配置.xml文件 新手请给我详细过程和代码我在网

db.proterties里面怎样设置才能配置oracle9数据库连接池 不配置.xml文件 新手请给我详细过程和代码
我在网上找了这个代码,高手看看需要怎样修改才能用
db.proterties内容
drivers=oracle.jdbc.driver.OracleDriver  
logfile=C:\\workspace\\log.txt  
oracle.url=jdbc:oracle:thin:@192.168.1.205:1521:S01ORA9I  
oracle.maxconn=1000  
oracle.user=system  
oracle.password=ess2005  
连接db连接池代码
import   java.io.*;
import   java.sql.*;
import   java.util.*;
import   java.util.Date;

/**
*   管理类DBConnectionManager支持对一个或多个由属性文件定义的数据库连接
*   池的访问.客户程序可以调用getInstance()方法访问本类的唯一实例.
*/
public   class   DBConnectionManager   {
static   private   DBConnectionManager   instance;   //   唯一实例
static   private   int   clients;

private   Vector   drivers   =   new   Vector();
private   PrintWriter   log;
private   Hashtable   pools   =   new   Hashtable();

/**
*   返回唯一实例.如果是第一次调用此方法,则创建实例
*
*   @return   DBConnectionManager   唯一实例
*/
static   synchronized   public   DBConnectionManager   getInstance()   {
if   (instance   ==   null)   {
instance   =   new   DBConnectionManager();
}
clients++;
return   instance;
}

/**
*   建构函数私有以防止其它对象创建本类实例
*/
private   DBConnectionManager()   {
init();
}

/**
*   将连接对象返回给由名字指定的连接池
*
*   @param   name   在属性文件中定义的连接池名字
*   @param   con   连接对象
*/
public   void   freeConnection(String   name,   Connection   con)   {
DBConnectionPool   pool   =   (DBConnectionPool)   pools.get(name);
if   (pool   !=   null)   {
pool.freeConnection(con);
}
}

/**
*   获得一个可用的(空闲的)连接.如果没有可用连接,且已有连接数小于最大连接数
*   限制,则创建并返回新连接
*
*   @param   name   在属性文件中定义的连接池名字
*   @return   Connection   可用连接或null
*/
public   Connection   getConnection(String   name)   {
DBConnectionPool   pool   =   (DBConnectionPool)   pools.get(name);
if   (pool   !=   null)   {
return   pool.getConnection();
}
return   null;
}

/**
*   获得一个可用连接.若没有可用连接,且已有连接数小于最大连接数限制,
*   则创建并返回新连接.否则,在指定的时间内等待其它线程释放连接.
*
*   @param   name   连接池名字
*   @param   time   以毫秒计的等待时间
*   @return   Connection   可用连接或null
*/
public   Connection   getConnection(String   name,   long   time)   {
DBConnectionPool   pool   =   (DBConnectionPool)   pools.get(name);
if   (pool   !=   null)   {
return   pool.getConnection(time);
}
return   null;
}

public   int   getClient(){
return   clients;
}

/**
*   关闭所有连接,撤销驱动程序的注册
*/
public   synchronized   void   release()   {
//   等待直到最后一个客户程序调用
if   (--clients   !=   0)   {
return;
}

Enumeration   allPools   =   pools.elements();
while   (allPools.hasMoreElements())   {
DBConnectionPool   pool   =   (DBConnectionPool)   allPools.nextElement();
pool.release();
}
Enumeration   allDrivers   =   drivers.elements();
while   (allDrivers.hasMoreElements())   {


Driver   driver   =   (Driver)   allDrivers.nextElement();
try   {
DriverManager.deregisterDriver(driver);
log( "撤销JDBC驱动程序   "   +   driver.getClass().getName()+ "的注册 ");
}
catch   (SQLException   e)   {
log(e,   "无法撤销下列JDBC驱动程序的注册:   "   +   driver.getClass().getName());
}
}
}

/**
*   根据指定属性创建连接池实例.
*
*   @param   props   连接池属性
*/
private   void   createPools(Properties   props)   {
Enumeration   propNames   =   props.propertyNames();
while   (propNames.hasMoreElements())   {
String   name   =   (String)   propNames.nextElement();
if   (name.endsWith( ".url "))   {
String   poolName   =   name.substring(0,   name.lastIndexOf( ". "));
String   url   =   props.getProperty(poolName   +   ".url ");
if   (url   ==   null)   {
log( "没有为连接池 "   +   poolName   +   "指定URL ");
continue;
}
String   user   =   props.getProperty(poolName   +   ".user ");
String   password   =   props.getProperty(poolName   +   ".password ");
String   maxconn   =   props.getProperty(poolName   +   ".maxconn ",   "0 ");

int   max;
try   {
max   =   Integer.valueOf(maxconn).intValue();
}
catch   (NumberFormatException   e)   {
log( "错误的最大连接数限制:   "   +   maxconn   +   "   .连接池:   "   +   poolName);
max   =   0;
}
DBConnectionPool   pool   =
new   DBConnectionPool(poolName,   url,   user,   password,   max);
pools.put(poolName,   pool);
log( "成功创建连接池 "   +   poolName);
}
}
}



[解决办法]
提示什么错,数据库建立没有。
[解决办法]
关注

热点排行