idea:通过端口 1433 连接到主机 1433 的 TCP/IP 连接失败

本文讲述了初学者在尝试连接SQLServer数据库时遇到的'Connection refused'错误,通过分析发现是未启动TCP/IP服务。博主详细指导如何重启SQLServer服务,启用TCP/IP并重启,最终成功连接数据库并展示数据。
摘要由CSDN通过智能技术生成

问题描述:

刚开始学javaweb和sql语言,试着做一个简单的程序显示一下数据库中的数据,可是总是出错,错误是”com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Connection refused: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。“


import java.sql.*;
            public class Demo {
                public static void main(String[] args) {
                    try {            //1.加载驱动
                        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//固定
                        System.out.println("加载驱动成功!");
                        //2.连接
                        Connection conn = null;//连接对象(注意与java不同,创建对象不用new)
                        String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=test001;user=test1;password=123456";//ip地址、端口、数据库名
                        conn = DriverManager.getConnection(dbURL, "test1", "123456");
                        System.out.println("连接数据库成功!");
                        String sql="select * from test001";
                            PreparedStatement statement=null;
                            statement=conn.prepareStatement(sql);
                            ResultSet res=null;
                            res=statement.executeQuery();
                            while(res.next()){
                                String title=res.getString("name");
                                System.out.println(title);
                            }
                    } catch (Exception e) {
                        e.printStackTrace();
                        System.out.println("连接数据库失败!");
                    }


                }
            }

原因分析:

连接URL的格式没有错,驱动字符串也没有出错,Classpath里的驱动也没有问题。这时候看到了这位大佬的文章,https://blog.csdn.net/ahstusujian/article/details/6911745
终于明白了错误点:没有重启sql server服务。重启它,不是简单的重启sql server软件,这一点用也没有。

解决方案:

很多人配置了1433端口,却没有启动TCP/IP;启动之后需要再次启动sql server服务。这里不再说怎么配置1433端口,很多人的文章都写了这个;以我的java 1.8和sql server2019为例:
Step1.
启动界面:
此界面的地址:打开计算机选中此电脑点击右键,单击管理;打开服务和应用程序管理器——>sql server配置管理器——>sql server 网络配置——>
在这里插入图片描述
右键启用TCP/IP(我的已经启用过了)
Step2.
再重启sql server服务

右键这两个红线指向的部分,重启;成功。
这时再运行我的程序,成功print了数据库的name的元素。
在这里插入图片描述
这是我的第一篇CSDN文章,因为想帮助更多的像我这样的小白而发表,有错误之处或者冒犯之处还望各位斧正。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值