Dzwebs.Net

撰写电脑技术杂文十余年

数据库连接超时、连接达到最大池大小的主观原因

Admin | 2009-12-2 11:46:44 | 被阅次数 | 99300

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  关于网站代码调用数据库,不论是读取数据还是插入甚至是更新数据库,都有可能遇到连接池到最大池情况。

  提示信息如下:

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

  一、客观原因

  出现以上的问题,原因一般如下:

  ①数据库支持的最大连接数太小;

  ②程序代码未及时关闭数据库的连接;

  ③数据库本身就有问题;

  出现以上问题,说明都是客观原因造成的,请大家参与本站的相关文章。

  二、主观原因

  有了以上的客观原因,我们也不能排除主观原因,即程序代码的问题。

  本人经过实践得以证明,客观上的确存在原因,但是,自己编写的代码,的确也与此问题脱不了关系。

  本如总结出两个导致发生此问题的主观原因,请大家借鉴。

  ①在Global.asax文件中操作数据库

  俺曾经在Global.asax文件中的Session_Start中对数据库进取读取,经过观察,频繁发生此类问题。解决的问题就是不要在Global.asax中使用代码对数据库进行操作。

  ②在MTop.ascx的CS文件中操作数据库

  俺曾经在MTop.ascx此文件的CS中对数据库进行读写操作,经过观察,频繁发生此类问题。解决的方法当然就是:尽量或干脆不要在MTop.ascx文件中对数据库进行操作。

  目前,俺经过实践,就发现这两个主观上的问题;本来程序代码对数据库的操作还是正常的,但是由于代码位置的使用不当,也会造成连接超时的问题的发生。


该杂文来自: 网站开发杂文

上一篇:asp.net(C#)备份SQL数据库的代码

下一篇:asp.net将人民币数字转为为对应的大写金额代码上

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计