========为什么 .net总是提示这样的错???一会儿有,一会儿没??
大哥们:
我做的.net程序,c#的。那个首页 index.aspx,打开执行一段时间后,时间不一定。有时再重新访问这个index.aspx时,就提示:
超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
是不是我的iis有问题。但为什么,我写的其他的.net程序没这个问题。是不是我的数据库连接有错???服务器重新启动一下,就行了,没这个问题了。这段时间又会有的。
问题点数:20、回复次数:34Top
1 楼kaixin110(kydk.com)回复于 2005-11-04 09:01:15 得分 0
应该是数据库的问题,但是不排除其他可能,你是怎么连接数据库的,Top
2 楼cuike519(I will be back!)回复于 2005-11-04 09:02:20 得分 0
你使用的Connection对象没有调用Close方法。Top
3 楼guanshenglang(senay)回复于 2005-11-04 09:05:04 得分 0
没CloseTop
4 楼chenyong888(马甲)回复于 2005-11-04 09:16:02 得分 0
有可能是数据库用了没关。因为总是提示:
行 33:
行 34: Conn= new SqlConnection(ConnStr); //SqlConnection实例化一个对象,以后这个对象就有属性了,并生成一个新的连接
行 35: Conn.Open();
有错。还有其他原因吗??高手吗??
Top
5 楼chenyong888(马甲)回复于 2005-11-04 10:44:30 得分 0
再顶,还是不行。又有这个问题了Top
6 楼chenyong888(马甲)回复于 2005-11-04 10:50:52 得分 0
已经全部close了Top
7 楼yuanshiaa()回复于 2005-11-04 11:05:37 得分 0
我原先也遇到过这样的问题,是因为程序中的datareader对象使用后未关闭及消毁,使得数据库连接数量不断增大直到资源耗尽,你查查代码,看看有没有这种情况。Top
8 楼chenyong888(马甲)回复于 2005-11-04 13:39:56 得分 0
先谢过楼上的大哥,我再来试试。但为什么同样的程序,别的程序就没事???有一个网站和我现在出问题的差不多,好像没什么事Top
9 楼chenyong888(马甲)回复于 2005-11-04 13:41:01 得分 0
再问一下,datareader如何做到,彻底关闭和释放资源?Top
10 楼flying310(林林)回复于 2005-11-04 13:46:00 得分 0
打开的数据库连接字符串没关闭。Top
11 楼lsqkeke(可可)回复于 2005-11-04 14:33:50 得分 0
再问一下,datareader如何做到,彻底关闭和释放资源?
-------------------------------------
用datareader的 dispose(); 方法
Top
12 楼chenyong888(马甲)回复于 2005-11-04 14:48:31 得分 0
好的,我再试试Top
13 楼chenyong888(马甲)回复于 2005-11-04 15:47:42 得分 0
还是不行。会不会和session有关,我用了大量的session,其实也不多,6-7个左右吧,再请大哥们看看原因Top
14 楼liupeng1981(葵花点穴手~!!)回复于 2005-11-04 16:12:22 得分 0
我现在也遇到同样的问题,我用的是 sqlHelper组件,数据库端都是用DataReader读取数据,搂主的问题 也时不时遇到~~
所有的DataReader我都没关闭,调用时 我都加了using
using(SqlDataReader dr = SqlHelper.ExecuteReader(SqlHelper.connString,CommandType.StoredProcedure,sqlText,commandParameters))
这样还是有问题Top
15 楼chenyong888(马甲)回复于 2005-11-04 16:24:41 得分 0
是啊,楼上的大哥,我也不知道什么问题。反正,我的首页 index.aspx中,由不少的.ascx用户控件组成的。第一个控件,又显示不同栏目的新闻。数据库读出的现象比较多。但我已经每次用了 open,又及时地close了,还是没用。
现在我的最新发现是:本地调试时,这种可能性出现的比较少,sql数据库占内存,一般在40M左右,但上传到服务器后,一运行,就占 70M多的内存,郁闷的很。。。。
期待高手为我终极这个问题,狂谢!Top
16 楼chenyong888(马甲)回复于 2005-11-04 16:50:00 得分 0
我要疯了,请高手出山啊,总不能一有问题就重启服务器吧???????????有没有好的方法 数据库关闭连接 是 conn.close() 还是conn.dispose() 啊,那个好?????????Top
17 楼brightview(佚名)回复于 2005-11-04 16:56:35 得分 0
同情.用sql监视器看看访问数据库的操作是否太密集Top
18 楼liupeng1981(葵花点穴手~!!)回复于 2005-11-04 17:43:47 得分 0
to:楼主 :
我的问题解决了,就是没有关闭DataReader的连接,我在调用DataReader时都用得是using,本来以为这样可以释放资源的,可是没有能释放,现在我在每个using语块最后加上一条dr.close(),就可以了~!刚刚测试了,应该不会有问题了!你是不是还有没有关闭的DataReader?搜一下~Top
19 楼bitliuyang(昊天)回复于 2005-11-04 17:46:30 得分 0
数据库的问题,在你写的代码中打开数据库连接,但是使用后没有关闭,当数据库的连接池超过设定时就会报错。
用conn.Close();就可以了Top
20 楼wuye(午夜循环(QQ:260968))回复于 2005-11-04 18:12:44 得分 0
奇怪的缓存问题 谁帮我解决一下啊
http://community.csdn.net/Expert/topic/4358/4358752.xml?temp=.8871271
顺便帮你顶Top
21 楼chenyong888(马甲)回复于 2005-11-04 18:30:31 得分 0
我的dr 全部close了啊??怎么把连接池个数增大??????Top
22 楼chenyong888(马甲)回复于 2005-11-04 18:34:19 得分 0
to :: liupeng1981(潇湘夜雨),你是如何解决的,我的qq:154471679,分不够 的话,我再加,狂急,老板又在问我了Top
23 楼chenyong888(马甲)回复于 2005-11-04 19:49:48 得分 0
我自己再顶一次,今天一定把这个问题给解决,并知道为什么要这样解决!
我来说一下我的程序,数据库操作全部写成了 .cs类文件,执行时调用一下就行。以前做的程序和现在的差不多,但没有问题。是因为我程序通过后,我把这个类文件,比如data.cs,打成data.dll,再调用。一直没问题。我估计如果我把现在的出问题的程序的那些类文件,也打成dll的模式,估计不会有问题了。Top
24 楼rendonlin(任东林)回复于 2005-11-06 18:20:29 得分 0
问题,解决了吗????帮你顶!设置连接池了吗???看你的情况,应该设置了吧,应该还是不行吧??Top
25 楼ccg68(龙)回复于 2005-11-06 18:47:15 得分 0
在调用 conn.Close() 时 与db的连接并没有真正被关闭,而是被传递到连接池中,之后体就在池中重用。 只有真正清除连接就可以避免调。
方法:
调用 conn.Dispose() 就搞定了,^_^
http://www.cnblogs.com/yidishui/archive/2005/04/17/139235.htmlTop
26 楼rendonlin(任东林)回复于 2005-11-06 18:52:00 得分 0
楼上的这个好兄弟,我安这个方法,早就试了还是不行,晕的很。Top
27 楼rendonlin(任东林)回复于 2005-11-06 18:53:26 得分 0
我也遇到这个问题,我是这样写的还是不行,我两个都写了
conn.close();
conn.Dispose() ;Top
28 楼chenyong888(马甲)回复于 2005-11-06 19:36:02 得分 0
我在sql连接字串中,已经加了这个最厉害的语句,还是不行!
Enlist=true;Pooling=true;Max Pool Size=512;Min Pool Size=0;Connection Lifetime=300;user id=sa;packet size=1000
Top
29 楼chenyong888(马甲)回复于 2005-11-06 19:53:43 得分 0
我真的很迫切的需要解决这个难题,因为如何不彻底的解决或搞明白,我以后的程序就没办法,也不敢再写了。求大哥看看,辛苦了!Top
30 楼WZCNet(只有想不到,没有做不到)回复于 2005-11-06 20:08:20 得分 0
查看一下数据库连接操作,是否在每次执行操作后,都正确的关闭数据连接(conn.close())Top
31 楼chenyong888(马甲)回复于 2005-11-06 20:13:38 得分 0
楼上的大哥,给你的答案是肯定的,每次操作后,即开即关。不但写了conn.close(),而且也写了
conn.disponse();Top
32 楼TinKyNerd(ooO==QQ群:15686350 ASP.NET交流啊==Ooo)回复于 2005-11-06 21:10:22 得分 0
贴你的代码出来啊
\\\|///
\\ .-.- //
. ( .@.@ )
+-------oOOo-----(_)-----oOOo---------+
| |
| 感谢无私帮助他人的朋友 |
| |
+---------------------Oooo------------+Top
33 楼chenyong888(马甲)回复于 2005-11-06 22:16:44 得分 0
帮顶,期待奇迹发生!谢谢了
Top
34 楼rendonlin(任东林)回复于 2005-11-07 07:46:37 得分 0
顶Top
相关问题
- 保存数据,一会儿出错,一会儿不出错!!.Net真是怪!!!郁闷中.......................
- 保存数据,一会儿出错,一会儿不出错!!.Net真是怪!!!郁闷中.......................
- 错误提示!
- 错误提示
- 如何阻止ASP。NET的出错提示
- 安装.net后,personal web server不能用了,提示错误……
- .NET的错误提示的中文变成问号了
- 我启动VS .net 7.0时,总有“除以0”的提示错误提示,怎么回事?如何解决?
- 请问怎么在C#.net里 跳出提示框 例如 跳出"用户名错误"的提示框
- WebBrowser1.Document.body.innerHTML 提示出错




