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即可!

相关推荐
lusklusklusk几秒前
Python 巡检脚本:进程运行状态、数据库写入时效检查及邮件通知与告警
数据库·python·oracle
永遠_4 分钟前
YAML格式化工具
java
GeW28 分钟前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库
SelectDB35 分钟前
Doris Arrow Flight SQL 高速读取协议实战:与 Snowflake 客户端取数链路对照
大数据·数据库·数据分析
曼岛_36 分钟前
[图解密码学]第4章 古典密码
java·数据库·密码学
一枕槐安48737 分钟前
RAG 服务扛住高并发:缓存、队列、限流三件套
java·spring·缓存·异步任务·rag·断路器
Wang's Blog38 分钟前
Java 项目实战: 交友项目 - 动态查询开工:昨日回顾与今日任务
java·python·交友
云和数据.ChenGuang1 小时前
光哥说Python 异常深度解析:从异常模型到工程化实践
java·前端·人工智能·python·langchain
SL_staff1 小时前
APS动态重排实践:在多品种小批量场景下实现5分钟插单响应
java·开源·产品
瀚高PG实验室2 小时前
HGDB V9.0.5 .pgpass 免密登录提示 IsEncryptNon-base64 encoding 警告处理
数据库·postgresql·瀚高数据库