最近使用SQLServer 2017数据库进行开发,在用Java代码链接数据库的时候遇到一个问题,应该是个常见的问题了。在网上找了不少方法都不能解决,终于经过不少次测试解决掉了。这里将解决方案记录一下,亲测有效!!!java
出现的问题是:web
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 链接失败。 java.net.ConnectException: Connection refused: connect at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.loginWithoutFailover(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at com.plusoft.util.SqlHelper.getConnection(SqlHelper.java:29) at com.plusoft.util.SqlHelper.query(SqlHelper.java:63) at com.plusoft.util.SqlHelper.queryPage(SqlHelper.java:107) at com.plusoft.dao.EmployeeDao.search(EmployeeDao.java:110) at com.plusoft.dao.EmployeeDao.search(EmployeeDao.java:92) at com.plusoft.service.EmployeeService.searchEmployees(EmployeeService.java:45) at com.plusoft.service.EmployeeService.searchEmployeesResult(EmployeeService.java:65) at com.plusoft.web.AjaxService.SearchEmployees(AjaxService.java:36) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
固然异常比这里展现的多,不过看第一行就知道错误了。sql
解决方案:数据库
(1)打开SQL Server Configuration Manager,点击SQL Server 网络配置前面的三角号,选择SQLEXPRESS协议,查看TCP/IP的状态是不是已启用,若是是已禁用,则右键点击TCP/IP选项,选择启用,以下图所示:网络
(2)而后右键点击TCP/IP选项,选择属性,选择IP地址,拉到最下面,能够看到IPAll,TCP端口填写为1433,点击肯定。sqlserver
(3)而后选择SQL Navite Client 10.0配置下的客户端协议,在这里保证TCP/IP的状态为已启用,以下图所示:测试
右键点击TCP/IP,选择属性,能够看到这里默认端口也是1433。以下图所示:spa
(4)最后要重启服务才能够保证修改生效,选择SQL Server服务下的SQL Server ,右键选择从新启动,重启服务以下图所示:.net
必定要重启服务才可生效!code
必定要重启服务才可生效!
必定要重启服务才可生效!
(重要的事说三遍)
(5)到此,问题解决。
以上是个人总结,但愿对遇到一样问题的朋友们有帮助。