This time I used the SqlServer database. I have not used it before, but the problem is not big. I followed the requirements document Steps: After connecting to SqlServer, start the SpringBoot project and find an error, as follows:
At first I thought it was a SqlServer connection problem, so I went to check the database , and found that everything in the database was normal. I first asked my colleagues if they had such a problem, and found that they did not, so I started my best part, programming for Baidu.
The specific error message is like this, so I started Baidu
Error report: 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
First I translated it into Chinese
Chinese translation error: c.a.d.p.DruidDataSource$CreateConnectionThread[Druid-ConnectionPool-Create-1218864105] Create connection SQLException, url:jdbc:sqlserver://47.114.91.217:1433;DatabaseName=PileTestingSystem, error code 0, status 08S01
com.microsoft.sqlserver.jdbc.SQLServerException: The driver was unable to establish a secure connection to SQL Server using Secure Socket Layer (SSL) encryption. Error: "Client preference [TLS12] does not accept the server-selected protocol version TLS10". Customer connection ID: c8434f3c-5f82-4cf2-b111-099e140f33d0
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2670)~[mssql-jdbc-6.4.0.jre8.jar:? ]
This error is mainly because the driver cannot use condom (SSL) encryption to establish a secure connection to SQL Server
Finally, after my query, I found two solutions, and now I provide them to everyone
If you are using jdk1.8, you must first find Install the java.security file in the JDK directory yourself and modify it.
My directory is as follows: D:\jdk\jre\lib\securityThere will be thisjava.securityFile
The specific modifications are as follows:
After opening the file, comment out these three lines of code (that is, add # before these three lines of code):
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
Then restart the project, and there will be no problem in establishing a secure connection to SQL Server.
The picture is as follows:
The java.security file before modification:
The modified java.security file:
After opening the file, find these three lines of code:
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
Then remove: the 3DES_EDE_CBC characters. (Picture below)
Then restart the project and establish a condom connection to SQL Server without any problem.
The java.security file before modification:
The java.security file after modification:
The above is the detailed content of How to solve Java connection SqlServer error. For more information, please follow other related articles on the PHP Chinese website!