小弟使用循环执行几百次数据库查询,每次都及时的关闭了数据库连接,但是为什么在执行的过程中仍然出现下面的问题,如何解决这个问题呀?超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小。源错误:
行 36: ConStr = GetMyDataBaseConStr();
行 37: MyCon = new SqlConnection(ConStr);
行 38: MyCon.Open();
行 39: }
行 40: public void CloseDataBaseCon() //关闭数据库连接
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.InvalidOperationException: 超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小。源错误:
行 36: ConStr = GetMyDataBaseConStr();
行 37: MyCon = new SqlConnection(ConStr);
行 38: MyCon.Open();
行 39: }
行 40: public void CloseDataBaseCon() //关闭数据库连接
解决方案 »
- 删除服务器上的一个文件
- 我在网上下一个网站,但在VS2008上运行的结果却出现错误.....?
- 第一个.net网站,请不要笑
- 怎样设置页面报错后跳转?
- 未能创建类型"ImageHandler"
- 为什么在asp.net 2.0中添加不上Microsoft.AnalysisServices.DLL引用(SQL2005),在winfrm中却可以
- 请教: 如何从123.aspx取得abc.ascx控件值?
- 请教一个关于框架集的问题?
- 请问各位高手,如何在asp WEB页面中取消右键快捷菜单,谢谢!
- 请问我怎样在打印的时候把这几个按钮隐藏?
- Formview中多个Textbox求和的问题
- 如何用一句sql语句选取分类及子分类的前5条产品
为什么每次都关闭了数据库连接了,再执行下一次操作,去提示上面的错误?
我的代码如下:
for(int j=0;j<ClassName.Length;j++)
{
string MySqlStr ="select * from CourseScheduling where 班级名称="+"'"+ClassName[j].Trim()+"'"+" and 星期名称="+"'"+WeekDayCourseNum[i].Trim()+"'"+" and 星期值="+RandomEachDayCourse.ToString().Trim();
int k = 0 ; //参数数组的长度
string[] MyKey = new string[k] ; //传递参数
object[] MyValue = new object[k] ; //传递参数值
SqlDbType[] MySqlDbType = new SqlDbType[k];
int[] MyFieldLength =new int[k] ; //传递参数的字段长度
SqlDataBase MyClasss = new SqlDataBase();
SqlDataReader MyReader;
MyReader = MyClasss.MySqlDataReader(MySqlStr,MyKey, MyValue,MySqlDbType,MyFieldLength);
MyReader.Close();
MyClasss.CloseDataBaseCon();
}
这个问题你完全可以打开一次连接datareader 及时关闭就行了
比如
conn.open();
using(sqldatareader dr=cmd.xxx)
{
}
conn.close();