小弟使用循环执行几百次数据库查询,每次都及时的关闭了数据库连接,但是为什么在执行的过程中仍然出现下面的问题,如何解决这个问题呀?超时时间已到。在从池中获取连接之前超时时间已过。出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小。
说明: 执行当前 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() //关闭数据库连接
解决方案 »
- 网站规划专业的学生必须知道的名词都有哪些?
- 谷歌下,js获取<input type="file" ... />绝对路径失败,被修改成C:\fakepath\...形式
- 帮忙看一下代码呗
- 求下象谷歌个性化主页里那个添加标签页和删除标签的功能代码
- 不想学asp.net了,想去搞java?
- 控件里的链接和图片的路径问题
- 关于文本框按回车后的响应(在线等)
- asp.net中如何添加一个鼠标移动响应事件?
- 有个错误,是关于Table的,请高手们指点(急:在线等候)
- asp.net怎样判断传过来的字符串,是否为有效的时间?
- 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();