這次使用的是SqlServer資料庫,之前並沒有使用過,但是問題不大,我按照需求文檔的步驟連接SqlServer之後,啟動SpringBoot項目,發現了一個報錯,如下:
剛開始我以為是SqlServer連線問題呢,於是便去查看資料庫,發現資料庫一切正常,我首先第一時間問了我的同事,他們是否有這樣的問題,發現他們並沒有,於是我便開始了我最拿手的環節,面向百度編程。
具體錯誤資訊是這樣,於是我便開始了百度
##錯誤錯誤:ERROR c.a.d.p.DruidDataSource$CreateConnectionThread [Druid-Pool-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:14333; 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-bjdbjar-6.4.0. ]
解決方法
這個錯誤主要是驅動程式無法使用安全套(SSL)加密建立到SQL Server的安全連線
最後在我的查詢下,找到了兩種解決方法,現在提供給大家
方法一如果使用的是jdk1.8的話,先找到自行安裝JDK目錄下的java.security
檔案並進行修改,下方就會有這個java.security檔案
具體的修改情況如下:開啟檔案後,註解掉這三行程式碼(也就是在這三行程式碼之前加上#):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檔案:
#方法二
開啟檔案後,找到這三行程式碼:
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檔案:
以上是Java連接SqlServer錯誤如何解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!