Home >Java >javaTutorial >How to solve Java connection SqlServer error

How to solve Java connection SqlServer error

WBOY
WBOYforward
2023-05-01 09:22:062333browse

    Problem discovery

    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:

    How to solve Java connection SqlServer error

    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.

    Start to solve

    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

    Solution

    Finally, after my query, I found two solutions, and now I provide them to everyone

    Method 1

    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:

    How to solve Java connection SqlServer error

    The modified java.security file:

    How to solve Java connection SqlServer error

    Method 2

    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:

    How to solve Java connection SqlServer error

    The java.security file after modification:

    How to solve Java connection SqlServer error

    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!

    Statement:
    This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete