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

相关推荐
jiayou641 天前
KingbaseES 实战:审计追踪配置与运维实践
数据库
码路飞1 天前
GPT-5.3 Instant 终于学会好好说话了,顺手对比了下同天发布的 Gemini 3.1 Flash-Lite
java·javascript
SimonKing1 天前
OpenCode AI编程助手如何添加Skills,优化项目!
java·后端·程序员
Seven971 天前
剑指offer-80、⼆叉树中和为某⼀值的路径(二)
java
NineData2 天前
NineData 迁移评估功能正式上线
数据库·dba
怒放吧德德2 天前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆2 天前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
NineData2 天前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
心之语歌2 天前
基于注解+拦截器的API动态路由实现方案
java·后端
赵渝强老师2 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql