“超时时间已到,但是尚未从池中获取连接。”
2017-12-06 本文已影响0人
烂吉没有假期
解决方法1:
1 修改几个关键页面或访问比较频繁的数据库访问操作,使用DataAdapter和DataSet来获取数据库数据,不要使用DataReader。
2 在访问数据库的页面上使用数据缓存,如果页面的数据不是经常更新(几分钟更新一次)的话,使用Cache对象可以不用访问数据库而使用缓存中的内容,那么可以大大减少连接数量。
3 修改代码,把使用Connection对象的地方都在Close()后面调用Dispose()或者实例化对象时使用using关键字进行自动释放。
4 建议对数据库操作进行大的修改,建立自己的数据库操作代理类,继承System.IDisposable接口,强迫释放资源,这样就不会出现连接数量不够的问题了。
解决方法2:
改变连接池的大小.在连接字符串的后面加上以下代码:
Enlist=true;Pooling=true;MaxPool Size=300;MinPool Size=0;Connection Lifetime=300;userid=sa;packet size=1000
packet size参数取512到32767中的任一整数值
PS: 转自网上