springboot连接sql server遇到的坑

1.账户问题

SQL server中有两种验证方式:

我们在使用ssms(官方提供的SQL server可视化图形工具)时,可以选择两种不同的方式连接:

如果选择Windows身份验证,则ssms会使用本机的默认账户尝试登录;

而如果选择SQL server身份验证,则需要使用:

注意:sa为默认用户名,密码是安装SQL server时设置的

2.springboot连接SQL server时的驱动问题

如果不采用坐标导入,建议上官网下载驱动:

3.连接问题(重要)

在尝试连接数据库时,经常出现"用户 sa 登录失败",明明密码正确

java 复制代码
public static void main(String[] args) {
        // 数据库连接信息
        String url = "jdbc:sqlserver://xx.xx.xx.xx:1433;DatabaseName=prepay;trustServerCertificate=true";
        String username = "sa";
        String password = "pilot@1234";

        // 连接对象
        Connection connection = null;
        try {
            // 加载SQL Server驱动
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

            // 建立连接
            connection = DriverManager.getConnection(url, username, password);

            // 如果成功连接,输出连接信息
            if (connection != null) {
                System.out.println("成功连接到数据库!");
            }
        } catch (SQLException | ClassNotFoundException e) {
            // 如果出现异常,打印错误信息
            System.err.println("数据库连接失败: " + e.getMessage());
        } finally {
            // 关闭连接
            try {
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                System.err.println("关闭连接失败: " + e.getMessage());
            }
        }
    }

此时去检查一下SQL server配置管理器:

你会发现有两个本地SQL server部署在你的服务器上,而你通过ssms登入的数据库则是:

需要知道一点,1433端口只是SQL server默认的端口,而你尝试连接的服务器"PILOT",经过查看它的端口并不是1433:

1.查看进程ID:

2.根据进程ID查询端口:

可以看到端口并不是1433,所以在上述的数据库连接参数中修改端口为53620即可!

相关推荐
weixin_459753941 小时前
golang如何实现Trace上下文传播_golang Trace上下文传播实现思路
jvm·数据库·python
weixin_444012932 小时前
PHP 中逻辑或(--)运算符的正确使用与条件逻辑重构指南
jvm·数据库·python
iAm_Ike8 小时前
Go 中自定义类型与基础类型间的显式类型转换详解
jvm·数据库·python
iuvtsrt8 小时前
Golang怎么实现方法集与接口的匹配_Golang如何理解值类型和指针类型实现接口的区别【详解】
jvm·数据库·python
Javatutouhouduan8 小时前
2026Java面试的正确打开方式!
java·高并发·java面试·java面试题·后端开发·java编程·java八股文
JAVA面经实录9178 小时前
Java初级最终完整版学习路线图
java·spring·eclipse·maven
tongluowan0079 小时前
MySQL中列数量及长度
数据库·mysql
-liming-9 小时前
单片机设计_串口调试工具
数据库·单片机·mongodb
Cat_Rocky9 小时前
k8s-持久化存储,粗浅学习
java·学习·kubernetes
鹿角片ljp9 小时前
从告警检测到智能研判:SQL 注入研判模型的设计与实践
数据库·sql