一定是连接没有关闭
虽然你都有close()方法,但是一定没有被调用
一般来说close()要放在finally{}里面

解决方案 »

  1.   

    18.2.1 MySQL server has gone away错误
    本小节也涉及有关Lost connection to server during query的错误。对MySQL server has gone away错误最常见的原因是服务器超时了并且关闭了连接。缺省地,如果没有事情发生,服务器在 8个小时后关闭连接。你可在启动mysqld时通过设置wait_timeout变量改变时间限制。你可以通过执行mysqladmin version并且检验正常运行的时间来检查MySQL还没死掉。如果你有一个脚本,你只须再发出查询让客护进行一次自动的重新连接。在这种请下,你通常能获得下列错误代码(你得到的是OS相关的):CR_SERVER_GONE_ERROR  客户不能发送一个问题给服务器。  
    CR_SERVER_LOST  当写服务器时,客户没有出错,但是它没有得到对问题的一个完整的答案(或任何答案)。  如果你向服务器发送不正确的或太大的查询,你也可能得到这些错误。如果mysqld得到一个太大或不正常的包,它认为客户出错了并关闭连接。如果你需要较大的查询(例如,如果你正在处理较大的BLOB列),你可以使用-O max_allowed_packet=#选项(缺省1M)启动mysqld以增加查询限制。多余的内存按需分配,这样mysqld只有在你发出较大差询时或mysqld必须返回较大的结果行时,才使用更多的内存!
      

  2.   

    求助求助!还是搞不懂什么原因!
    一向这个错误整个系统的页面都连不上了!郁闷!
    我每个连接都加上Close,不可能关不了的吧?
    Asp.net是不是用连接池共享一些上连接的?一出这个问题所有用户都用不了!连不了!
    而且不是Connect函数出错,只是ExecuteReader函数出错!
    惨惨惨惨惨~!