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

Java连接SqlServer错误

作者头像
程序员Leo
发布于 2023-08-07 13:41:12
发布于 2023-08-07 13:41:12
49000
代码可运行
举报
文章被收录于专栏:Java知识点Java知识点
运行总次数:0
代码可运行

# 1. 问题发现

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

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

# 2. 开始解决

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
报错: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
代码运行次数:0
运行
AI代码解释
复制
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 文件:

修改之后的 java.security 文件:

# 3.2 方法二

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 文件:

修改之后的 java.security 文件:

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

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JDBC SSL连接SQL Server
上次碰到的是《JDBC SSL连接MySQL》,这次则是SSL连接SQL Server。
bisal
2021/09/10
2.9K0
一分钟解决 The server selected protocol version TLS10 is not accepted 问题
技术群有个朋友使用 JDBC 连接 SQL Server 遇到以下报错: 关键字为:
明明如月学长
2022/09/28
24K1
一分钟解决 The server selected protocol version TLS10 is not accepted 问题
解决 HTTPS 证书失效菜刀连不上
尝试2: 在 执行 jar 时加入参数-Djsse.enableSNIExtension=false , 忽略证书菜刀测试失败, burpsuite 测试成功
Jumbo
2019/03/07
4.6K0
解决 HTTPS 证书失效菜刀连不上
解决在linux跑连接sql server老版本会报错的问题
先贴链接:https://aws.amazon.com/cn/blogs/opensource/tls-1-0-1-1-changes-in-openjdk-and-amazon-corretto/ 网上搜索的大部分方法无法帮助我。 报错如下: The server selected protocol version TLS10 is not accepted by client preferences [TLS12] 在java的根目录下(我的是1.8),在jdk11会在conf下找安全性文件,在jre/lib/security下有一个java.security文件,这个文件里的配置的jdk.tls.disabledAlgorithms配置向里面会禁用掉TLS1.0版本的传输协议,这时候我们需要关闭该协议,删除TLS1.0,当然在这个文件下删除是没有任何用处的,网上的大部分帖子也都是说改这个文件,我试了是不可以的,所以使用的是如下方法,新建一个空文件,粘贴如下:
gzq大数据
2021/10/19
1.7K1
比如,没有Dock bar,没有桌面,应用图标太丑,右击菜单也与物理机登录不一样,整体的UI也不一样了,安装1个优化工具 apt install gnome-tweak-tool
qq606633
2023/11/10
3470
记一次部署在docker环境项目发送邮件出现No appropriate protocol
部门有个项目涉及到邮件发送,发送功能在本地测试可以成功发送,但是打包部署到docker环境中,却出现
lyb-geek
2023/01/10
1.5K0
记一次部署在docker环境项目发送邮件出现No appropriate protocol
linux服务器禁用TLS1.0,TLS1.1 SSLv3协议的方法
在/etc/httpd/conf.d/ssl文件中找到SSLProtocol 属性项
菜鸟1枚
2023/10/19
3.7K0
服务器SSL不安全漏洞修复方案
关于SSL POODLE漏洞 POODLE = Padding Oracle On Downgraded Legacy Encryption.是最新安全漏洞(CVE-2014-3566)的代号,俗称“贵宾犬”漏洞。 此漏洞是针对SSL3.0中CBC模式加密算法的一种padding oracle攻击,可以让攻击者获取SSL通信中的部分信息明文,如果将明文中的重要部分获取了,比如cookie,session,则信息的安全出现了隐患。 从本质上说,这是SSL设计上的缺陷,SSL先认证再加密是不安全的。 如何检测漏
Vicsh
2018/05/16
4.2K0
Oracle 12c CC安装碰见的认证问题
维护的系统增加,导致对应需要维护的开发数据库环境也增加了,为了简化管理和监控,搭建图形化管理平台,是一种不错的解决方案,我们知道,11g就有了GC(Grid Control),发展到现在,已经有了12c CC和13c CC(Cloud Control)。
bisal
2019/01/29
1.3K0
Window安装Java
下载地址:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
小东东
2023/03/20
6910
Window安装Java
从零到一快速搭建个人博客网站(域名自动跳转www,二级域名使用)(二)
本篇文章是对上篇文章从零到一快速搭建个人博客网站(域名备案 + https免费证书)(一)的完善,比如域名自动跳转www、二级域名使用等。
yangwq
2021/02/05
2.2K0
016.Nginx HTTPS
超文本传输安全协议HTTPS(Hypertext Transfer Protocol Secure)是超文本传输协议和SSL/TLS的组合,用以提供加密通讯及对网络服务器身份的鉴定。
木二
2020/07/22
9980
HTTPS基础原理和配置 - 加密协议SSL和TLS
SSL TLS加密协议其实并没有很长的历史,1995年网景发布了SSL v2.0,这也是web加密的开始。这使得电子商务领域,人们可以在线提交密码和信用卡,并且至少是相当安全的。
东风微鸣
2022/04/21
1.4K0
HTTPS基础原理和配置 - 加密协议SSL和TLS
SSL/TLS CipherSuite 介绍
本文是关于SSL/TLS的 CipherSuite 的信息摘录,翻译。如有疑问,欢迎指出。
byronhe
2021/06/25
7K0
HTTPS 原理与证书实践
1.1 网络安全知识 1.1.1 网结安全出现背景 网络就是实现不同主机之间的通讯,网络出现之初利用TCP/IP协议簇的相关协议概念,已经满足了互连两台主机之间可以进行通汛的目的,虽然看似简简单单几句话,就描述了网络概念与网络出现的目的,但是为了真正实现两台主机之间的稳定可靠通讯,其实是一件非常困难的事情了,如果还要再通讯的基础上保证数据传输的安全性,可想而知,绝对是难上加难,因此,网络发明之初,并没有太关注TCP/IP互联协议中的安全问题。 对于默认的两台主机而言,早期传输数据信息并没有通过加密方式传输数
惨绿少年
2018/03/30
5K0
SSL/TLS加密检测脚本testssl.sh
以前SSL检测常用工具就是ssllabs的:https://www.ssllabs.com/ssltest/ 以及国内的https://myssl.com/.
Zach
2018/07/24
4.5K0
https原理及实践
转载请注明出处 安全知识 网络安全问题 数据机密性 在网络传输数据信息时,对数据的加密是至关重要的,否则所有传输的数据都是可以随时被第三方看到,完全没有机密性可言。 数据机密性解决问题思路 利用算法 为了保证数据的机密性,首先可以采用的方法就是将数据通过相应算法,转换为其它的数据信息,然后再通过相应算法反推出真正的数据是什么,这样一来就保证了数据在网络传输过程中安全性,不会被其它人轻易的看到传输过程中的数据信息。数据加密前的信息称为明文数据(plaintext),经过加密算法转换后进行传输的信息称为密文数据
863987322
2018/03/29
1.4K0
https原理及实践
软件安全性测试(连载21)
对于WEB传输层安全,首当其冲的就是基于HTTPS协议的SSL/TLS协议。SSL(Transport Layer Security)安全套接字层协议,TLS传输层安全性。SSL有v1.0、v2.0、v3.0和v3.1 4个版本号,其中仅有v3.1版本是安全的。支持SSL协议的服务器包括: Tomcat 5.x、Nginx、IIS、 Apache 2.x、IBM HTTP SERVER 6.0等。TLS (Transport Layer Security)有v1.0、v1.1、v1.2 3个版本号。SSL v3.1与TLS v1.0是等效的。下面从安全服务设计、服务端安全证书配置和服务器协议和密码设置来进行讨论基于HTTPS协议的安全性。
顾翔
2020/02/19
1.4K0
软件安全性测试(连载21)
基础篇:java.security框架之签名、加密、摘要及证书
和前端进行数据交互时或者和第三方商家对接时,需要对隐私数据进行加密。单向加密,对称加密,非对称加密,其对应的算法也各式各样。java提供了统一的框架来规范(java.security)安全加密这类API。下面将一一介绍
潜行前行
2021/02/05
1.7K0
Mysql连接数据库异常汇总【必收藏】
在Centos上部署项目发现一个奇怪的问题,数据库连接一直抛异常。于是花了两个小时搜了各种数据库连接异常导致的原因,最终问题得以解决。同时,把解决过程中搜集到的异常信息汇总一下,当大家遇到类似的问题时,给大家以思路。必须珍藏。
程序新视界
2020/03/24
2.5K0
推荐阅读
相关推荐
JDBC SSL连接SQL Server
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文