当前位置:编程学习 > C#/ASP.NET >>

十万火急!!!系统正式投入使用,但是SqlConnection满了,卡死了……怎么办?

一个系统正式投入使用了,可能是有一个地方的SqlConnection忘记close了,导致现在出现这样的情况。

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

而且我没有设置过SqlConnection的时间,也就是默认的无限制。卡死了怎么办?怎么才能让这些SqlConnection失效啊? --------------------编程问答-------------------- 写open的时候把close也写了
using(SqlConnection conn = new SqlConnection)
{
...
} --------------------编程问答-------------------- http://pcajax.iteye.com/blog/1090294 --------------------编程问答-------------------- 使用连接池............... --------------------编程问答-------------------- <add key="connectionString" value="Data Source=.;Password=1;User ID=sa;database = ITSMDBTest;connection timeout=120;Max Pool Size = 512;" /> 
把Max Pool Size设置大点试试 --------------------编程问答-------------------- 学习了  --------------------编程问答-------------------- 这样系统就上线了,没测试过的 ? --------------------编程问答-------------------- 学习了。 --------------------编程问答-------------------- 学习。。。 --------------------编程问答-------------------- 分数点太少了. 唉, 直接在项目中搜索 SqlConnection 所有地方都检查吧. --------------------编程问答--------------------
引用 4 楼 sh524555685 的回复:
<add key="connectionString" value="Data Source=.;Password=1;User ID=sa;database = ITSMDBTest;connection timeout=120;Max Pool Size = 512;" /> 
把Max Pool Size设置大点试试

这个方法貌似不行,我之前也碰到像楼主这样的情况,设置了连接池最大数,这只是治标不治本,楼主还是好好检查一下代码,把sqlconnection连接关了吧! --------------------编程问答-------------------- 每次open一个sqlconnection,用过之后都显式close()掉,这应该成为一个习惯。。 --------------------编程问答-------------------- 可怜的人!

使用SqlConnection的时候,记得使用 Using(){...}。 --------------------编程问答-------------------- 慢慢检查吧,把没关闭的关闭掉。 --------------------编程问答-------------------- 用完了记得关闭 释放资源   --------------------编程问答-------------------- 学习了,多谢 --------------------编程问答-------------------- 从新启动,他就失效了,然后查您代码,加大连接池
统一使用一个SqlConnection 方法,处理
这样有问题也方便 --------------------编程问答-------------------- 1.用Using
2.用的时候记得及时关闭链接
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,