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

相关推荐
工程师老罗42 分钟前
Image(图像)的用法
java·前端·javascript
leo_messi941 小时前
2026版商城项目(一)
java·elasticsearch·k8s·springcloud
美味蛋炒饭.1 小时前
Tomcat 超详细入门教程(安装 + 目录 + 配置 + 部署 + 排错)
java·tomcat
鹿角片ljp1 小时前
苍穹外卖 day05:店铺营业状态设置与Redis入门实战
数据库·redis·缓存
dreamxian1 小时前
苍穹外卖day11
java·spring boot·后端·spring·mybatis
Veggie262 小时前
【Java深度学习】PyTorch On Java 系列课程 第八章 17 :模型评估【AI Infra 3.0】[PyTorch Java 硕士研一课程]
java·人工智能·深度学习
weisian1512 小时前
Java并发编程--19-ThreadPoolExecutor七参数详解:拒绝Executors,手动掌控线程池
java·线程池·threadpool·七大参数
csdn5659738502 小时前
Java打包时,本地仓库有jar 包,Maven打包却还去远程拉取
java·maven·jar
m0_743470372 小时前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
Demon_Hao2 小时前
JAVA通过Redis实现Key分区分片聚合点赞、收藏等计数同步数据库,并且通过布隆过滤器防重复点赞
java·数据库·redis