打印本文 打印本文 关闭窗口 关闭窗口
关于数据库连接池的问题,有的网友可能出现数据库连接池已使用光的难题
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1603  更新时间:2009/6/9 2:35:01  文章录入:mintao  责任编辑:mintao

如题,下面做个介绍,仅代表我个人的问题,如果与君雷同,尽请多关注:

本小虾米学习数据库以来,一直遇到一个问题实在不能解决,直到今天方能领悟!

以前使用数据库SQL的时候,经常对数据库进行查询,有的时候甚至还使用超量级的循环来对某一个数据表进行无数次的查询,为此,导致了如下的错误:

System.Web.HttpUnhandledException: 引发类型为“System.Web.HttpUnhandledException”的异常。 ---> System.InvalidOperationException: 超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。

很明显,出现这种问题是,查询的次数太多了,未来得及关闭连接池所导致的,读取数据一般都使用SqlDataReader这个对象,所以,根据常理,一般都是这样操作的:

先打开数据库连接OpenDataBaseCon();

然后进行数据查询:读取数据while (MySqlReader.Read())

之后再关闭查询SqlReader.Close();

最后再关数据库连接CloseDataBaseCon();

诸不知,这样一来,就导致了以上的错误,

但是如何解决问题呢,很简单,直接读取就行,因为这个控件有自动读取功能,不需要打开数据库,因此,将OpenDataBaseCon();去掉,或者屏蔽不使用//OpenDataBaseCon();

就这样,简单得不得了拉,

凡事都靠经验与总结,本人的问题虽然不是什么问题,尽请有问题雷同者多借鉴!

 

打印本文 打印本文 关闭窗口 关闭窗口