JDBC连接SqlServer2000出现"Connection refused: connect"的处理
错误信息如下所示:
java.sql.SQLException:NetworkerrorIOException:Connectionrefused:connect
atnet.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:385)
atnet.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
atnet.sourceforge.jtds.jdbc.Driver.connect(Driver.java:182)
atjava.sql.DriverManager.getConnection(UnknownSource)
atjava.sql.DriverManager.getConnection(UnknownSource)
attest.Test.main(Test.java:33)
Causedby:java.net.ConnectException:Connectionrefused:connect
atjava.net.PlainSocketImpl.socketConnect(NativeMethod)
atjava.net.PlainSocketImpl.doConnect(UnknownSource)
atjava.net.PlainSocketImpl.connectToAddress(UnknownSource)
atjava.net.PlainSocketImpl.connect(UnknownSource)
atjava.net.SocksSocketImpl.connect(UnknownSource)
atjava.net.Socket.connect(UnknownSource)
atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
atsun.reflect.NativeMethodAccessorImpl.invoke(UnknownSource)
atsun.reflect.DelegatingMethodAccessorImpl.invoke(UnknownSource)
atjava.lang.reflect.Method.invoke(UnknownSource)
atnet.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:304)
atnet.sourceforge.jtds.jdbc.SharedSocket.<init>(SharedSocket.java:255)
atnet.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:310)
...5more
处理如下:
一.查看端口信息
使用JDBC在默认端口1433上连接SQLServer获得connectionrefused异常,大致异常信息为:
TheTCP/IPconnectiontothehosthasfailed.java.net.ConnectException:Connectionrefused。
1.使用telnet127.0.0.11433测试,得到如下信息:
正在连接到127.0.0.1...不能打开到主机的连接,在端口1433:连接失败表示1433端口没有
打开
2.检查SQLServer服务已经启动。于是用网络工具扫描端口,发现和SQLServer服务相关的端口
为1109和1434。不过1434为UDP端口,所以当前的连接端口应为1109。可以使用SQLServer的
“服务器实用网络工具”修改默认端口。打开“服务器使用网络工具”后,在“常规”选项
卡中的“启用的协议”列表中,选择“TCP/IP”,然后点击“属性”按钮,就可以看到默认
的端口值。修改后,重启SQLServer服务,即可使用修改后的端口连接服务器。
二.安装更新补丁
注:信息来自互联网