java连接SQL2005报错:connection refused:connect怎么解决
创始人
2024-12-24 04:43:04
0次

com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。 
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:170) 
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1049) 
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833) 
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716) 
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841) 
at java.sql.DriverManager.getConnection(DriverManager.java:525) 
at java.sql.DriverManager.getConnection(DriverManager.java:171) 
at com.dyadem.support.db.MySQLConnection.getConnection(MySQLConnection.java:18) 
at com.dyadem.support.db.History.showHistory(History.java:26) 
at com.dyadem.support.servlet.HistoryServlet.doGet(HistoryServlet.java:28) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) 
at java.lang.Thread.run(Thread.java:595)

这几天从原来的服务器上check out出一个工程,使用的是Spring+Hibernate的轻量级架构,数据库是SQL Server2000,数据源使用的jtds。可是原本运行正常的程序无论如何也跑不起来,连接数据库时,总是出现java.sql.SQLException: "Network error IOException: Connection refused: connect"。检查hibernate配置文件、使用查询分析器登陆数据库一切正常。于是google一下,发现了jtds的官方文档,对这个异常作了如下的解释(原文地址:http://jtds.sourceforge.net/faq.html): 

     当jtds不能连接到服务器时就会抛出这个异常,主要有以下一些原因:

     1、服务器名称拼写错误或端口不正确。

     2、SQL Server没有配置使用TCP/IP。通过SQL Server的服务器网络实用工具让TCP/IP可用,或者让jDts通过命名管道(name pipes)连接服务器(如何完成请参见URL格式)

     3、防火墙阻止了对服务器1433端口的访问。

     为了检查TCP/IP是否可用或者1433端口是否被禁止,你可以使用“Telnet 1433”。如果Telnet不能连接,那么jDts也不能。如果你实在不能指出这是为什么,请向你的网络管理员寻求帮助。

      我按照上面提供的方式折腾了半天,还是没有任何进展,以前是那么错误。继续搜索,按照各种提供的方式,进行测试,依然出错。也看到了有人和我的错误一样,并且最后也得到了解决,可是都没有提供解决的方法。

     正在一筹莫展之际,忽然看到一条记录,提到了要打SQL Server2004要打Sp4的补丁。赶紧找来了Sp4安装,呵呵,服务器顺利启动。所以上面jDts给出的解释前,应该增加一条:

     0、如果您的数据库是SQL Server2000,请确保已经升级到SP4。  
这时检查SQL服务是否启动,检查SQL是否开启TCP/IP连接,检查连接字符串是否正确。 

1、打开SQL Server Configuration Manager——SQL Server2005 网络配置——MSSQLSERVER的协议——TCP/IP
2、启动TCP/IP
3、打开TCP/IP的属性,IP all中的TCP端口设置为1433
4、重新启动SQL Server 2005服务

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...