前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java连接SqlServer错误

Java连接SqlServer错误

作者头像
程序员Leo
发布2023-08-07 21:41:12
4000
发布2023-08-07 21:41:12
举报
文章被收录于专栏:Java知识点

# 1. 问题发现

这次使用的是 SqlServer 数据库,之前并没有使用过,但是问题不大,我按照需求文档的步骤连接好 SqlServer 之后,启动 SpringBoot 项目,发现了一个报错,如下:

刚开始我以为是 SqlServer 连接问题呢,于是便去查看数据库,发现数据库一切正常,我首先第一时间问了我的同事,他们是否有这样的问题,发现他们并没有,于是我便开始了我最拿手的环节,面向百度编程。

# 2. 开始解决

具体报错信息是这样,于是我便开始了百度

代码语言:javascript
复制
报错:ERROR c.a.d.p.DruidDataSource$CreateConnectionThread [Druid-ConnectionPool-Create-1218864105] create connection SQLException, url:jdbc:sqlserver://47.114.91.217:1433;DatabaseName=PileTestingSystem, errorCode 0, state 08S01

首先我进行了中文翻译

中文翻译错误:c.a.d.p.DruidDataSource$CreateConnectionThread [Druid-ConnectionPool-Create-1218864105] 创建连接 SQLException,url:jdbc:sqlserver://47.114.91.217:1433;DatabaseName=PileTestingSystem,错误代码 0,状态 08S01 com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法使用安全套接字层(SSL)加密建立到 SQL Server 的安全连接。错误:“客户端首选项 [TLS12] 不接受服务器选择的协议版本 TLS10”。客户连接 ID:c8434f3c-5f82-4cf2-b111-099e140f33d0 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2670)~[mssql-jdbc-6.4.0.jre8.jar:?]

这个错误主要就是驱动程序无法使用安全套(SSL)加密建立到 SQL Server 的安全连接

# 3. 解决方法

最终在我的查询下,找到了两种解决方法,现在提供给大家

# 3.1 方法一

如果使用的是 jdk1.8 的话,先要找到自己安装 JDK 目录下的 java.security 文件并进行修改, 本人目录如下:D:\jdk\jre\lib\security 下就会有这个 java.security 文件 具体的修改情况如下 :

打开文件后,注释掉这三行代码(也就是在这三行代码之前加 # ):

代码语言:javascript
复制
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA,
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC,anon, NULL,
include jdk.disabled.namedCurves

然后重新启动项目,建立 SQL Server 的安全套连接就没有问题了。 图片如下: 没修改之前的 java.security 文件:

image-20230330104645835
image-20230330104645835

修改之后的 java.security 文件:

image-20230330104728125
image-20230330104728125

# 3.2 方法二

打开文件后,找到这三行代码:

代码语言:javascript
复制
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA,
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC,anon, NULL,
include jdk.disabled.namedCurves

然后去掉:其中的 3DES_EDE_CBC, 字符。(图片如下) 然后重新启动项目,建立 SQL Server 的安全套连接就没有问题了。 没修改之前的 java.security 文件:

image-20230330104807347
image-20230330104807347

修改之后的 java.security 文件:

image-20230330104824800
image-20230330104824800

到这里问题就解决了,这里想告诉大家,遇到之前没有碰到过的新问题,不要慌,先追溯本源,看看到底是哪里出错了,思路一定要清晰,实在没有头绪的话可以百度,利用好搜索引擎,你一定可以的!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 1. 问题发现
    • # 2. 开始解决
      • # 3. 解决方法
        • # 3.1 方法一
        • # 3.2 方法二
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档