`
xiebh
  • 浏览: 615732 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

到主机 的 TCP/IP 连接失败,达到最大连接数

阅读更多
问题描述:
________________________________________________________

以前的项目一直运行很好,最近用户打电话,网站运行不起来。看了下Tomcat的日志,错误信息如下(部分无关信息省略):
引用

Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败。 java.net.SocketException: No buffer space available (maximum connections reached?):


项目的环境:Struts + iBATIS ++ Tomcat(独立机器) + SQLServer2005(独立机器) +WindowsServer2003
_________________________________________________________

初步分析:
    1、所有静态页面没问题;
    2、所有动态页面,只要不与数据库连接,没问题;
  
    根据以上两点,Tomcat正常,应该是数据库的问题,然后询问机房维护人员,是否数据库服务器硬件、软件,尤其是SQLServer2005重装过,回答是:"没有"。那就奇怪,运行好好的系统为什么就不行了,是否数据库连接conection没有释放,因为部分代码用的JDBC链接,想到这里,然后重启Tomcat,问题依然存在!
   那就是数据库服务器了,于是我就使出了解决问题的三板斧中的第一板,重启SQLServer2005服务器,问题照旧。
   别逼我,第二板:重转SQLServer2005,问题依然存在!
   来个狠的,重装操作系统,结果被机房人员拦住!

   之前就这个问题,也在网上搜了资料,大多数只是把问题提出了,没有一个解决的,国外的也查找了,没有。

  最后,折腾好几个小时,一直未果。决定撤,就在这时候,冷静分析了一下,现在不是数据库的连接数达到最大,而是根本就没有和数据库连接上,数据库IP,JDBCURL、UserName、PWD、Port(1433)都没有问题,只有驱动程序了,于是从MS下载了最新的SQLServer2005驱动,重启Tomcat,好了。
   
    他奶奶的!抽根烟,走人!

结论:
     机房人员为了保持系统安全性,开启了Windows Server2003自动更新的服务,结果数据库服务器升级了,造成了原来的JDBC驱动不能用,下载最新的驱动,或者停止该项服务既可解决问题。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics