专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Java Exception

Tomcat 连数据库出现异常java.sql.SQLException:Lost connection to server during query

发布时间:2010-06-05 12:31:14 文章来源:www.iduyao.cn 采编人员:星星草

Tomcat 连数据库出现异常java.sql.SQLException:Lost connection to server during query   
  Tomcat 连数据库出现异常java.sql.SQLException:Lost connection to server during query 

  这到底是啥事呀。

------解决方法--------------------------------------------------------
是找不到数据源,检查一下query
------解决方法--------------------------------------------------------
是不是你在哪里已经把conn 给close()了。
------解决方法--------------------------------------------------------
应该是查询的中间把这个connection(或才statement)关了吧
------解决方法--------------------------------------------------------
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必须返回较大的结果行时,才使用更多的内存!   

------解决方法--------------------------------------------------------
你的链接url用类似下面的方法写就可以了。关键是"autoReconnect=true"
  <parameter>
  <name>url</name>
  <value>jdbc:mysql://localhost/confluence?autoReconnect=true</value>
  </parameter>

    
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: