com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:191)
at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:242)
at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2369)
at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:551)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1963)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459)
我尝试通过新的数据库配置文件连接我的驱动程序后面临此异常。 我的信息是正确的,TCP端口已启用,防火墙已启用关闭。 我使用的是Microsoft SQL Server 2008 JDBC驱动程序,并且我已经添加了jar。
答案 0 :(得分:0)
“连接被拒绝”很少是由连接客户端引起的,即Eclipse安装程序中的JDBC客户端。一个好的检查是打开一个shell(例如Windows上的cmd.exe)并执行
telnet [server name used in JDBC configuration] 1433
在较新的Windows安装中,您需要安装telnet客户端,因为它不再是标准安装的一部分(设置 - >软件 - >添加/删除功能)。
如果这会导致类似的错误消息,您可以将故障排除集中到系统的网络部分,因为JDBC方面完全没有涉及。如果可以连接,请确保在使用命令提示符时服务器名称解析为相同的IP,因为它在Java中解析(我曾经有过这种效果,需要花费很长时间才能找到它)。特别是当localhost
作为服务器名称时,可能会解析为127.0.0.1
而另一个解析为::1
。