tomcat6+sql2000 连接数据库报“Cannot get a connection,pool exhausted ”错误,怎么解决?

aimiracle 2008-12-10 03:02:19
连接数据库的代码:
import java.sql.*;
import javax.sql.*;
import javax.naming.*;

public class DBjdbc{
private DBjdbc(){}
////查询
public static ResultSet querySQL(String sql,String dbname){
Context ctx;
Context envctx;
DataSource ds;
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try{
ctx = new InitialContext();
envctx = (Context)ctx.lookup("java:comp/env");
ds = (DataSource)envctxlookup("java/"+dbname);
conn = ds.getConnection();
st = conn.createStatement();
rs = st.executeQuery(sql);
}catch(exception e){
e.printStackTrace();
} finally {
try {
if (rs != null) {rs.close(); }
if (st != null) {st.close(); }
if (conn != null) {conn.close(); }
} catch (SQLException e) {
/** Exception handling **/
}
}

return rs;
}
///// 修改
public static int updateResult(String sql,String dbname)throws SQLException{
Context ctx;
Context envctx;
DataSource ds;
Statement st = null;
Connection conn = null;
try{
ctx = new InitialContext();
envctx = (Context)ctx.lookup("java:comp/env");
ds = (DataSource)envctxlookup("java/"+dbname);
conn = ds.getConnection();
st = conn.createStatement();
}catch(exception e){
e.printStackTrace();
}finally {
try {
if (st != null) {st.close(); }
if (conn != null) {conn.close(); }
} catch (SQLException e) {
/** Exception handling **/
}
}

return rs.executeUpdate(sql);
}
}
配置内容为:
<Resource name="jdbc/sys"
auth="Container"
type="javax.sql.DataSource"
maxActive="0"
maxIdle="30"
maxWait="10000"
username="sys"
password="guanyitongcn"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://221.222.111.333:1433;DatabaseName=sys"/>

加个关闭连接,也就是带颜色的那部分,提示:Object has been closed.
不加的话,连接多了,又抛错说:cannot get a connection,pool exhausted
...全文
102 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
aimiracle 2008-12-24
  • 打赏
  • 举报
回复
呵呵。。是我没有正确的关闭连接引起的错误,谢谢两位!
myjava_024 2008-12-10
  • 打赏
  • 举报
回复
接着楼上的,是不是连接池配置的有问题啊
fengye_hong 2008-12-10
  • 打赏
  • 举报
回复
看看有没有导msbase.jar mssqlserver.jar msutil.jar jstl.jar 这几个包
aimiracle 2008-12-10
  • 打赏
  • 举报
回复
怎么没人问答呀,在线等,请高手们帮忙解答一下呀!!!!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧