溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java連接SqlServer錯(cuò)誤怎么解決

發(fā)布時(shí)間:2023-05-09 10:35:18 來(lái)源:億速云 閱讀:155 作者:iii 欄目:編程語(yǔ)言

這篇文章主要講解了“Java連接SqlServer錯(cuò)誤怎么解決”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Java連接SqlServer錯(cuò)誤怎么解決”吧!

    問(wèn)題發(fā)現(xiàn)

    這次使用的是SqlServer數(shù)據(jù)庫(kù),之前并沒(méi)有使用過(guò),但是問(wèn)題不大,我按照需求文檔的步驟連接好SqlServer之后,啟動(dòng)SpringBoot項(xiàng)目,發(fā)現(xiàn)了一個(gè)報(bào)錯(cuò),如下:

    Java連接SqlServer錯(cuò)誤怎么解決

    剛開(kāi)始我以為是SqlServer連接問(wèn)題呢,于是便去查看數(shù)據(jù)庫(kù),發(fā)現(xiàn)數(shù)據(jù)庫(kù)一切正常,我首先第一時(shí)間問(wèn)了我的同事,他們是否有這樣的問(wèn)題,發(fā)現(xiàn)他們并沒(méi)有,于是我便開(kāi)始了我最拿手的環(huán)節(jié),面向百度編程。

    開(kāi)始解決

    具體報(bào)錯(cuò)信息是這樣,于是我便開(kāi)始了百度

    報(bào)錯(cuò):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

    首先我進(jìn)行了中文翻譯

    中文翻譯錯(cuò)誤:c.a.d.p.DruidDataSource$CreateConnectionThread[Druid-ConnectionPool-Create-1218864105]創(chuàng)建連接SQLException,url:jdbc:sqlserver://47.114.91.217:1433;DatabaseName=PileTestingSystem,錯(cuò)誤代碼0,狀態(tài)08S01
    com.microsoft.sqlserver.jdbc.SQLServerException:驅(qū)動(dòng)程序無(wú)法使用安全套接字層(SSL)加密建立到SQL Server的安全連接。錯(cuò)誤:“客戶端首選項(xiàng)[TLS12]不接受服務(wù)器選擇的協(xié)議版本TLS10”。客戶連接ID:c8434f3c-5f82-4cf2-b111-099e140f33d0
    在com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2670)~[mssql-jdbc-6.4.0.jre8.jar:?]

    這個(gè)錯(cuò)誤主要就是驅(qū)動(dòng)程序無(wú)法使用安全套(SSL)加密建立到SQL Server的安全連接

    解決方法

    最終在我的查詢下,找到了兩種解決方法,現(xiàn)在提供給大家

    方法一

    如果使用的是jdk1.8的話,先要找到自己安裝JDK目錄下的java.security文件并進(jìn)行修改,
    本人目錄如下:D:\jdk\jre\lib\security下就會(huì)有這個(gè)java.security文件
    具體的修改情況如下 :

    打開(kāi)文件后,注釋掉這三行代碼(也就是在這三行代碼之前加 # ):

    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

    然后重新啟動(dòng)項(xiàng)目,建立SQL Server的安全套連接就沒(méi)有問(wèn)題了。

    圖片如下:

    沒(méi)修改之前的java.security文件:

    Java連接SqlServer錯(cuò)誤怎么解決

    修改之后的java.security文件:

    Java連接SqlServer錯(cuò)誤怎么解決

    方法二

    打開(kāi)文件后,找到這三行代碼:

    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,字符。(圖片如下)

    然后重新啟動(dòng)項(xiàng)目,建立SQL Server的安全套連接就沒(méi)有問(wèn)題了。

    沒(méi)修改之前的java.security文件:

    Java連接SqlServer錯(cuò)誤怎么解決

    修改之后的java.security文件:

    Java連接SqlServer錯(cuò)誤怎么解決

    感謝各位的閱讀,以上就是“Java連接SqlServer錯(cuò)誤怎么解決”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Java連接SqlServer錯(cuò)誤怎么解決這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI