获取及关闭连接的类是这样写的:
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class DBUtil { public static Connection getConnection() {
Connection con=null;
try{
con=DriverManager.getConnection("proxool.oracle");
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}public static void releaseResultSet(ResultSet rs) {
// TODO 自动生成方法存根
try{
if(rs!=null){
rs.close();
}
}catch( Exception e){
e.printStackTrace();
}
}public static void releaseStatement(PreparedStatement ps) {
// TODO 自动生成方法存根
try{
if(ps!=null){
ps.close();
}
}catch( Exception e){
e.printStackTrace();
}
}public static void releaseConnection(Connection con) {
// TODO 自动生成方法存根
try{
if(con!=null){
//con.close();
}
}catch( Exception e){
e.printStackTrace();
}
} public static void releaseStatement(Statement ps) {
// TODO 自动生成方法存根
try{
if(ps!=null){
ps.close();
}
}catch( Exception e){
e.printStackTrace();
}
}}
我使用
getConnection()创建连接没有问题,但是在关闭连接的时候
使用releaseConnection(),如果在releaseConnection()执行con.close(),即
显式关闭连接的话,下一次获取连接的时候报“使用的连接已经关闭的错误”。
如果不执行con.close(),则下次调用会创建新的连接多次之后就会达到上限,报“已经达到了连接最大数量”的错误。请问这个问题应该如何解决?最好能提供使用的代码,谢谢!!
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class DBUtil { public static Connection getConnection() {
Connection con=null;
try{
con=DriverManager.getConnection("proxool.oracle");
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}public static void releaseResultSet(ResultSet rs) {
// TODO 自动生成方法存根
try{
if(rs!=null){
rs.close();
}
}catch( Exception e){
e.printStackTrace();
}
}public static void releaseStatement(PreparedStatement ps) {
// TODO 自动生成方法存根
try{
if(ps!=null){
ps.close();
}
}catch( Exception e){
e.printStackTrace();
}
}public static void releaseConnection(Connection con) {
// TODO 自动生成方法存根
try{
if(con!=null){
//con.close();
}
}catch( Exception e){
e.printStackTrace();
}
} public static void releaseStatement(Statement ps) {
// TODO 自动生成方法存根
try{
if(ps!=null){
ps.close();
}
}catch( Exception e){
e.printStackTrace();
}
}}
我使用
getConnection()创建连接没有问题,但是在关闭连接的时候
使用releaseConnection(),如果在releaseConnection()执行con.close(),即
显式关闭连接的话,下一次获取连接的时候报“使用的连接已经关闭的错误”。
如果不执行con.close(),则下次调用会创建新的连接多次之后就会达到上限,报“已经达到了连接最大数量”的错误。请问这个问题应该如何解决?最好能提供使用的代码,谢谢!!
解决方案 »
- jsp连接时怎样同时传递一个汉字标识???
- 请教Javascript中正则表达式的问题,一晚上也弄明白
- 关于web重新部署需重启tomcat的问题。
- eXTreme Table取request传递值问题
- Jfreechart图表问题
- 服务器老出现这种错误,怎么办?
- 怎么才能在web服务器启动时候就加载自己定义的配置文件呢?
- 关于自定义标签的问题?
- 为什么我的jsp说找不到postgresql驱动呢?
- 自定义tag时jsp报错incompatible object argument for function call
- Struts构架下怎么样把一个Bean 的一个属性赋值给一个隐藏域?(在线等待)
- 注销的代码怎么写啊?
/*将连接返回给连接池*/
public synchronized void releaseConnection(Connection con) {
// 将指定连接加入到向量末尾
connections.addElement(con);
//连接数减一
inUse--;
}
2007-05-17 15:17:20:296 [org.logicalcobwebs.proxool.oracle,447,HouseKeeper]-[DEBUG]
000165 (00/04/00) - #0132 removed because it has problems: java.sql.SQLException: ORA-00923: 未找到预期 FROM 关键字
.
2007-05-17 15:17:20:312 [org.logicalcobwebs.proxool.oracle,447,HouseKeeper]-[DEBUG]
000165 (00/03/00) - #0133 removed because it has problems: java.sql.SQLException: ORA-00923: 未找到预期 FROM 关键字
.
2007-05-17 15:17:20:312 [org.logicalcobwebs.proxool.oracle,447,HouseKeeper]-[DEBUG]
000165 (00/02/00) - #0134 removed because it has problems: java.sql.SQLException: ORA-00923: 未找到预期 FROM 关键字
.
2007-05-17 15:17:20:328 [org.logicalcobwebs.proxool.oracle,447,HouseKeeper]-[DEBUG]
000165 (00/01/00) - #0135 removed because it has problems: java.sql.SQLException: ORA-00923: 未找到预期 FROM 关键字
.
2007-05-17 15:17:20:375 [org.logicalcobwebs.proxool.oracle,447,HouseKeeper]-[DEBUG]
000165 (00/00/00) - #0136 removed because it has problems: java.sql.SQLException: ORA-00923: 未找到预期 FROM 关键字
.
2007-05-17 15:17:20:500 [org.logicalcobwebs.proxool.oracle,204,Prototyper]-[DEBUG]
000165 (00/01/00) - Connection #137 created to keep 5 available = AVAILABLE
2007-05-17 15:17:20:640 [org.logicalcobwebs.proxool.oracle,204,Prototyper]-[DEBUG]
000165 (00/02/00) - Connection #138 created to achieve minimum of 2 = AVAILABLE
2007-05-17 15:17:20:781 [org.logicalcobwebs.proxool.oracle,204,Prototyper]-[DEBUG]
000165 (00/03/00) - Connection #139 created to keep 5 available = AVAILABLE
2007-05-17 15:17:20:906 [org.logicalcobwebs.proxool.oracle,204,Prototyper]-[DEBUG]
000165 (00/04/00) - Connection #140 created to keep 5 available = AVAILABLE
2007-05-17 15:17:21:46 [org.logicalcobwebs.proxool.oracle,204,Prototyper]-[DEBUG]
000165 (00/05/00) - Connection #141 created to keep 5 available = AVAILABLE后面的创建新连接是为了保持活动连接数,但前面为什么会出现ORA-00923: 未找到预期 FROM 关键字 的错误??
我可是任何操作都没有做啊??