最近网站连接数据库经常出现以下异常信息超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。连接池设置大了也是这样子,连的是SQL2005的数据库,请问有何解决方法。把进程中的w3wp关闭一下,就又正常了
3 回答
函数式编程
TA贡献1807条经验 获得超9个赞
查看您的网站源代码,在每个Connection被Open的后面是否都跟随一个Connection被Close。即如下形式: 'VB Code------ Private Sub Demo() ……'其他代码 'connection的定义,如定义为Con Con.Open() ……'其他代码 Con.Close() ……'其他代码 End Sub //C# Code------ private void Demo() { ……//其他代码 //connection的定义,如定义为Con Con.Open(); ……//其他代码 Con.Close(); ……//其他代码 } 如果所有Open和Close不是一一对应,即缺少了Close就会出现楼主所说的现象了! 补充问题解答:你可以对微软的SqlHelper进行调试,我曾今也使用过,我印象中SqlHelper似乎有个地方是错的(忘了是哪里),你可以逐句调试看看!
繁华开满天机
TA贡献1816条经验 获得超4个赞
我以前遇到过是设置的连接池数据数目太小 然后同时请求的太多,稍微加大了连接池的数据就可以了。 你可以试一下 不过在试之前,要先检查是否有未关闭的连接
慕的地8271018
TA贡献1796条经验 获得超4个赞
这个问题95%是因为数据连接用完了不关闭 我之前要求手下的程序员写数据库程序一律这个格式: try{ conn.Open(); } finally { conn.Close(); }
- 3 回答
- 0 关注
- 98 浏览
添加回答
举报
0/150
提交
取消