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

相关推荐
摇滚侠2 分钟前
帮我整理一份 IDEA 开发中常用快捷键
java·ide·intellij-idea
五阿哥永琪17 分钟前
MySQL 中 VARCHAR、TEXT 与 JSON 类型:区别、场景与选型指南
数据库·mysql·json
a95114164220 分钟前
Go语言如何操作OSS_Go语言阿里云OSS上传教程【完整】
jvm·数据库·python
2401_8971905520 分钟前
MySQL中如何利用LIMIT配合函数分页_MySQL分页查询优化
jvm·数据库·python
疯狂成瘾者42 分钟前
YAML配置介绍
java
cccccc语言我来了43 分钟前
C++轻量级消息队列服务器
java·服务器·c++
Polar__Star44 分钟前
C#怎么使用并发集合 C#ConcurrentDictionary和ConcurrentQueue线程安全集合怎么用【进阶】
jvm·数据库·python
better_liang1 小时前
每日Java面试场景题知识点之-MCP协议在Java开发中的应用实践
java·spring boot·ai·mcp·企业级开发
河阿里1 小时前
SpringBoot :使用 @Configuration 集中管理 Bean
java·spring boot·spring
xiaoshuaishuai81 小时前
C# Codex 脚本编写
java·服务器·数据库·c#