请各位高手指点
这个问题已经把我要折磨死了!服务器环境:Windows 2000 server。Sql server 2000;tomcat 6.0;java应用程序,jdbc连接数据库;使用snappool.jar 的连接器,和hibernate 3.0的连接池连接的数据库;DatabaseProfile {SQLServer {driverClass = com.microsoft.jdbc.sqlserver.SQLServerDriverdbUrl = jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=phoenixhrdbUser = sadbPass = saconnectionPoolSize= 10statementPoolSize= 100idleTimeout= 30shrinkInterval= 30}问题描述:系统运行了一段时间之后,突然一天数据库连接不上,开始是snappool连接不上,错误为:[com.dao.user.LoginDAO]-[DEBUG] executeQuery: select t.usertype as usertype from hr_user t where t.loginname = '[email protected]' and t.password = 'lvmingyu1997' and isvalid ='1' 2009-06-27 17:05:26,406 [com.dao.user.LoginDAO]-[ERROR] 数据库错误 java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]Error establishing socket. at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSConnection.(Unknown Source) at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source) at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source) at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source) at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at net.snapbug.util.dbtool.ConnectionPool.O000oooOo0OoooooOO00O(ConnectionPool.java) at net.snapbug.util.dbtool.ConnectionPool.createStatement(ConnectionPool.java) at com.hr.database.DatabaseManager.executeQuery(DatabaseManager.java:64) at com.dao.util.GeneralDAO.getIntValue(GeneralDAO.java:28) at com.dao.user.LoginDAO.getUserInfo(LoginDAO.java:24) at com.action.user.LoginAction.execute(LoginAction.java:57) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.util.LoginFilter.doFilter(LoginFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) at java.lang.Thread.run(Unknown Source) 2009-06-27 17:05:26,406  但是此时hibernate能连的上,估计可能是连接池建立的常连接的原因; 此时我在服务器上本地运行 telnet localhost 1433 ,结果失败;telnet不上去;但是问题就在于,我在另外一台机器上,telnet服务器,结果就能成功。疑惑1:为什么本地telnet localhost 1433失败,然后其他机器就能telnet上去呢???或者服务器禁用掉了telnet? 后来无奈之下,重启了服务器;结果应用正常运行了四天,四天后数据库又连不上了。现象同上;但是此时我在自己的本子上连接服务器数据库一切正常;而且也能telnet上去;
经过测试,发现telnet localhost 其他端口一样不行。比如80 ;9999,这些都是端口都是在监听的。而且使用: 
http://localhost:9999/phhr/admin访问自己建立的服务,结果是:网页无法打开;