oracle 尚未从池中获取连接,解决一个问题的思路 之“解决已经写满con.close() 仍然出现但是尚未从池中获取连接的连接池耗尽问题”...

这篇文章主要写解决一个网上答案不能解决自己问题的时候,解决问题的整个流程, 如果大家觉得这个没价值,还请管理员帮忙撤销发首页 先谢谢各位了。 一年前帮学校做了一个就业信息管理系统, 当时图热闹,觉得虽然说学校人不是很多,但是看惯了大家对GridVie

这篇文章主要写解决一个网上答案不能解决自己问题的时候,解决问题的整个流程,

如果大家觉得这个没价值,还请管理员帮忙撤销发首页

先谢谢各位了。

一年前帮学校做了一个就业信息管理系统,

当时图热闹,觉得虽然说学校人不是很多,但是看惯了大家对GridView的性能的漫骂,

抱着练手的想法,自己用repeater 代替了GridView 来做数据显示

之后系统采用三层架构设计。。。。

之后做好了在自己本机上怎么测都没毛病,觉得差不多了

就向学校申请服务器架设,

结果没用几天,出毛病了,  老是提示

“超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。 ”

ok,google 了下,这个一般是因为DbConnection 开启了之后忘记关闭的(参见)

自己本身写了个DbHelper,改起来应该很快,

结果一看,雷到了,,原来我在DbHelper里面已经关闭了啊

/// 

/// 执行查询语句,返回DataSet

/// 

/// 查询语句

/// DataSet

public static DataSet Query(string SQLString)

{

using (SqlConnection connection = new SqlConnection(connectionString))

{

DataSet ds = new DataSet();

try

{

connection.Open();

SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);

command.Fill(ds, "ds");

}

catch (System.Data.SqlClient.SqlException ex)

{

throw new Exception(ex.Message);

}

finally

{

connection.Close();

}

return ds;

}

}

百思不得其解,最后没办法,临时想了个方案,关闭“连接池”

在web.config 中写入

connectionString="Data Source=.sqlexpress;Initial Catalog=YTJY;User ID=xxx;Password=xxx;pooling=false"

懂行的一看就知道是笨办法。。。

用了一段时间,貌似不报那个错了,所以就没注意了

可是,

今年6月,这个错误又华丽的出现了。

原来跑就业那台服务器因为项目需要,又装了个Oracle

额,抱歉,我一直说服务器,实际上是台pc机,联想的,配置忘记了,就记得是512 的内存后来换成1G的了,07年买的菠萝机

内存直接常年1G 占满

最后没办法,学校传说去采购了9k 的服务器(真的服务器了)

虽然马上就华丽的本科毕业(还几天就答辩。。。)

但是如果程序放新的服务器上还是不得行,校方直接毕业设计挂我我不是惨死。

没办法,琢磨着解决问题吧。

研究错误提示

超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

反复读这句话,连接池我已经取消了啊,相当于每次读数据都是从数据库里申请链接,没有连接池的概念了哈

终于,发现一个很抑郁的事情

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值