到主机的TCP/IP连接失败 解决方案


在 SQL Server 2005 里面,如果出现到主机的 TCP/IP 连接失败。
java.net.ConnectException: Connection refused: connect!

首先是因为sqlserver2005默认情况下是禁用了tcp/ip连接。

您可以在命令行输入:telnet localhost 1433进行检查,这时会报错:正在连接到localhost…不能打开到主机的连接,在端口 1433: 连接失败

启动tcp/ip连接的方法:
打开 /Microsoft SQL Server 2005/配置工具/目录下的SQL Server Configuration Manager,选择mssqlserver协议, 然后右边窗口有个tcp/ip协议,然后启动它,把sqlserver服务停了,然后在启动。问题就解决了!

这时在命令行输入:telnet localhost 1433就不会再报错了,窗口显示为一片黑,即为正常

总结:

1,打开SQL server configuration manager—>网络配置—>Tcp/Ip,右键选择开启Tcp/IP

2,双击修改Tcp/IP端口号。注意不是所有机器的端口号都是1433,打开Tcp/Ip界面后,
先查看最底下一栏的动态端口号是多少,像我的机器就是2921.在这儿纠结了很久,原先全部的时间都浪费在把端口设置成1433!!

然后把上面所有的
动态端口号都改为2921(
你自己机器的动态端口号),所有Enable的选项都选YES。然后应用,确定。

附:我是索性把所有的不论动态端口还是端口都设成了2921,调了半天,生气了!

3,重启数据库连接服务。

然后在命令行输入:telnet localhost 端口号,如果窗口不显示连接不上,出来一个黑屏,那么就表示连接成功了。

然后去你写的类里面连接数据库吧,起码不会再有“到主机的TCP/IP连接失败”的问题了!