You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ运行Java项目连接SQL Server报TLS10协议不被客户端支持错误

问题根因

你遇到的报错本质是Java客户端默认仅支持TLS1.2协议,但本地SQL Server服务协商加密时选择了TLS1.0协议,两端协议版本不匹配导致SSL连接建立失败。同事运行正常说明问题出在你本地的JDK运行环境配置,和项目代码、数据库服务端本身的全局配置无关。

排查步骤
  • 确认IDEA项目使用的JDK路径
    打开IDEA的File > Project Structure > Project,查看当前配置的SDK版本与安装路径,同时核对Run > Edit Configurations中对应启动项的JRE配置,确保两者使用的是同一个JDK环境,避免多版本JDK混用导致配置不生效。
  • 检查JDK的TLS协议禁用规则
    进入上述JDK的安装目录:
    • JDK8及更低版本:打开jre/lib/security/java.security文件
    • JDK9及更高版本:打开conf/security/java.security文件
      找到jdk.tls.disabledAlgorithms配置项,确认列表中是否包含TLSv1、TLSv1.1,如果存在说明该JDK默认禁用了低版本TLS协议。
解决方案

方案1:修改JDK安全配置(仅本地开发用)

删除jdk.tls.disabledAlgorithms配置项中的TLSv1、TLSv1.1,保存文件后重启IDEA与项目即可恢复连接。

该方案会降低JDK的通信安全等级,禁止在生产环境使用。

方案2:修改JDBC连接参数

在你的数据库连接URL末尾追加参数:;tlsVersion=TLSv1.2;trustServerCertificate=true,强制JDBC驱动使用TLS1.2协议和服务端通信,无需修改JDK配置。如果追加后仍报错,说明你本地的SQL Server未开启TLS1.2支持,需要到SQL Server配置管理器中开启TLS1.2协议后再重试。

方案3:统一JDK版本

直接拷贝同事正常运行使用的JDK到本地,在IDEA中将项目SDK切换为该JDK版本,重启项目即可生效。

内容的提问来源于stack exchange,提问作者El Mehdi Bouddit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:06:03