经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
JDBC:SqlServer连接TCP/IP连接失败,到主机 的 TCP/IP 连接失败。报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。
来源:cnblogs  作者:酷酷的洛克  时间:2019/3/25 9:12:32  对本文有异议

作者QQ:1161493927,欢迎互相交流学习。 

报错信息:com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect
Exception in thread "main" java.lang.NullPointerException
at test.main(test.java:17)

很多情况下,不能用一种思路理解或解决问题,比如这个到主机 的 TCP/IP 连接失败的问题

首先分析这个问题产生的原因,大概有5种原因(因为我也遇到了这个问题,所以大概搜集了些解决方案)


 

常见的问题,第一个,第二个,第五个,这三种是最常见的问题


 

1)JAVA连接时端口或者看看是否和你java代码中指定的url中的接口不一致

解决方案:使用JAVA链接SQLServer数据库,检查语句是否正确尤其为端口号。

2)SqlServer服务未打开或服务未配置正确

解决方案:

  2.1)SqlServer服务未打开

打开SQL Server的配置管理器——>点击SqlServer服务——>选中SqlServer(MSSQLSERVER)右击启动【状态代表目前状态】【启动模式代表是开机自启动还是需要手动启动】

如下图

  2.2)SqlServer服务未配置正确

解决方案:

exec sys.sp_readerrorlog 0, 1, 'listening'
运行后 会显示你的sql 正在运行的tcp/ip接口
看看是否和你java代码中指定的url中的接口不一致

3)端口占用

解决方案:

  3.1)输入:netstat -aon|findstr "端口号"

    如输入netstat -aon|findstr "1433",回车,有以下信息显示TCP 0.0.0.0:1433 0.0.0.0:0 LISTENING 1956

    其中"1956"为占用"1433"端口的进程号

 

  3.2)输入:tasklist|findstr "进程号"

 

    如输入tasklist|findstr "1956",回车,有以下信息显示

 

    sqlservr.exe 1956 Console 0 5,556 K

 

    其中"sqlservr.exe"即占用"1433"端口的进程名

4)防火墙拦截

解决方案:关闭防火墙尝试,如果问题解决在防火墙中添加入站规则

5)TCP/IP服务未打开

解决方案:打开TCP/IP协议(注意事项,请设置完毕后重启服务)

 

默认是禁用的如上图。(右击该服务启动)

 

选中该服务后双击,选择IP地址。翻到最下面IPALL,TCP动态端口默认是随机配置的设置为1433(如上图)

最后重启服务

 

如果打不开服务请

 

 

 

 

 

 

原文链接:http://www.cnblogs.com/kkdaj/p/10585469.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号