首页 新闻 会员 周边

关于数据库连接问题??

0
[已解决问题] 解决于 2008-04-14 14:50
<P>最近网站连接数据库经常出现以下异常信息</P> <P><EM>超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。</EM></P> <P>连接池设置大了也是这样子,连的是SQL2005的数据库,请问有何解决方法。把进程中的w3wp关闭一下,就又正常了。</P>
问题补充: using (SqlConnection conn = new SqlConnection(connectionString)) { ..... } 每次调用数据库操作后,已关闭 另外,因为用了ajax,页面上的信息都是通过js调用webservice再来构造数据格式的,这里的并发数据可能比较多。也奇怪,放到外网上,这个好象还没有发现。但在我本机上调试,经常这个样子。经查看发现,所有的连接都打开了,但处于闲置状态,真是奇怪的,我用的是微软的那个sqlhelper来做为数据库操作的
李.net的主页 李.net | 小虾三级 | 园豆:730
提问于:2007-11-27 10:46
< >
分享
最佳答案
0
查看您的网站源代码,在每个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似乎有个地方是错的(忘了是哪里),你可以逐句调试看看!
刚刚 | 老鸟四级 |园豆:3151 | 2007-11-27 11:08
其他回答(6)
0
LZ有没有在每次使用完以后立刻关闭呢
AndyFish | 园豆:1575 (小虾三级) | 2007-11-27 10:49
0
我尝试下回答问题哈……看看感觉和百度知道有啥不同
irons | 园豆:11 (初学一级) | 2007-11-27 18:02
0
这个问题95%是因为数据连接用完了不关闭 我之前要求手下的程序员写数据库程序一律这个格式: try{ conn.Open(); } finally { conn.Close(); }
魔都KK | 园豆:340 (菜鸟二级) | 2007-11-28 12:27
0
确保连接字符串来自一个地方
阿勇 | 园豆:210 (菜鸟二级) | 2007-11-29 08:31
0
我以前遇到过是设置的连接池数据数目太小 然后同时请求的太多,稍微加大了连接池的数据就可以了。 你可以试一下  不过在试之前,要先检查是否有未关闭的连接
张荣华 | 园豆:2020 (老鸟四级) | 2007-12-05 10:32
0
在运行之前判断是否已经OPEN..如果已经OPEN了就要在OPEN了..如果没有在OPEN..然后用完之后都要CLOSE. 在FINALLY里面 CLOSE
空空佛 | 园豆:205 (菜鸟二级) | 2007-12-14 11:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册