我的网站是使用的ASP.NET(vb)+ms sql开发的。
页面采用的是用户自定义控件,一个页面 有7-8个控件,
而且,在每个控件中都有CONN。OPEN和CONN。CLOSE事件,而且绝对似乎匹配的。
也就是没有不关闭的情况出现。
但是现在还是出现连接池溢出。不知什么原因,怎么解决啊??
你们做的时候是不是也和我一样啊》
介绍方法。
分不够可以加

解决方案 »

  1.   

    也遇到相同的問題﹐未找到完美的解決方法﹐你可以連到Server看其與資料庫TCP連接數﹐然后增加請求。
      

  2.   

    你不要重复的写那么多的conn,open什么的,你在项目里面建立一个数据库操作类,里面定义一个SelectData方法,你所有的查询都调用这个类的这个方法。
    在方法里面,你到最后记得把conn close掉,最好再dispose一下,应该没事的。这样始终可以保证只有一个conn,并且上一个用完,才会下一个用,而且这样代码看起来很工整
      

  3.   

    我在想你的会不会是中间有什么异常,程序没有跑完conn.close这个语句呢?
    你最好在SelectData方法中加上try...catch...finally,在finally中将conn.close,conn.dispose
      

  4.   

    我从来没有碰到数据库连接池溢出这种情况
    我是把数据库连接字符串写到web.config文件里的,然后在ASPX文件打开数据库,用完了使用dispose()、close()等方法释放资源。运行良好。
      

  5.   

    http://www.microsoft.com/china/MSDN/library/data/sqlserver/TheNETConnectionPoolLifeguard.mspx
    你看下,估计对你可能有帮助。
      

  6.   

    如果你不想看文章,直接用在查询分析器里用“sp_who ”查看你的数据库现在的连接情况,如果你所有的close都调用完毕,除了系统连接外还有,那说明你可能哪个地方未关闭!
      

  7.   

    确定执行 DataReader 时是否使用了 CommandBehavior.CloseConnection
    DataReader也要显示的关闭。rd.close
      

  8.   

    http://blog.csdn.net/sykpboy/archive/2005/06/14/394494.aspx
      

  9.   

    当你调用sqlconnection.close方法时,sqlconnection并没有真正关闭,而是将sqlconnection对象赋于关于标志,当超过默认的时间时,如果没有客户端请求连接,再真正关闭。当客户端请求时,如果存在相同的链接,那么就会使用连接池中的连接。在楼主的应用中,一个页面,就打开和关闭了sqlconnection对象七八次,显然应用程序的性能是比较差的。可以将数据库的连接信息写入web.config中。可以提高应用程序的整体性能。
      

  10.   

    还有,如果调用sqlconnecion.dispose,或隐式的调用sqlconnection.close方法