Maison >Java >javaDidacticiel >Comment résoudre l'erreur de connexion Java SqlServer

Comment résoudre l'erreur de connexion Java SqlServer

WBOY
WBOYavant
2023-05-01 09:22:062339parcourir

    Découverte du problème

    Cette fois, j'ai utilisé la base de données SqlServer, je ne l'ai pas utilisée auparavant, mais le problème n'est pas grave. Après avoir connecté SqlServer selon les étapes du document d'exigences, j'ai démarré le projet SpringBoot. et j'ai trouvé une erreur comme suit :

    Comment résoudre lerreur de connexion Java SqlServer

    Au début, j'ai pensé que c'était un problème de connexion à SqlServer, j'ai donc vérifié la base de données et j'ai constaté que tout était normal. J'ai d'abord demandé à mes collègues s'ils avaient un tel problème, et. J'ai découvert que ce n'était pas le cas, alors j'ai commencé ma meilleure partie, la programmation pour Baidu. ERREUR ConnectionThread [Druid-ConnectionPool-Create-1218864105] crée une connexion SQLException, url:jdbc:sqlserver://47.114 .91.217:1433;DatabaseName=PileTestingSystem, errorCode 0, state 08S01

    J'ai d'abord effectué la traduction chinoise

    Erreur de traduction chinoise : c.a.d.p.DruidDataSource$CreateConnectionThread[Druid-ConnectionPool-Create-1218864105] Créer une exception SQL de connexion, URL:jdbc :sqlserver://47.114.91.217:1433;DatabaseName=PileTestingSystem, code d'erreur 0, statut 08S01

    com.microsoft.sqlserver.jdbc.SQLServerException : le pilote ne peut pas établir une connexion sécurisée avec SQL Server à l'aide du cryptage Secure Socket Layer (SSL). Erreur : « La préférence du client [TLS12] n'accepte pas la version de protocole sélectionnée par le serveur TLS10 ». ID de connexion client : c8434f3c-5f82-4cf2-b111-099e140f33d0

    à com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2670)~[mssql-jdbc-6.4.0.jre8.jar :? ]

    Cette erreur est principalement due au fait que le pilote ne peut pas établir une connexion sécurisée à SQL Server à l'aide du cryptage SSL



    Solution

    Enfin, après ma requête, j'ai trouvé deux solutions, qui sont désormais fournies à tout le monde

    Méthode 1

    Si vous utilisez jdk1.8, vous devez d'abord trouver le fichier

    java.security dans le répertoire où vous avez installé le JDK et le modifier Mon répertoire est le suivant :

    D:jdkjrelibsecurity

    Ce sera. Les modifications spécifiques à ce

    java.security

    fichier sont les suivantes :
    Après avoir ouvert le fichier, commentez ces trois lignes de code (c'est-à-dire ajoutez # avant ces trois lignes de 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
    Puis redémarrez le projet et établir SQL Server Il n'y aura aucun problème avec la connexion du préservatif.
    L'image est la suivante :

    Le fichier java.security avant modification :

    Le fichier java.security après modification :

    Comment résoudre lerreur de connexion Java SqlServer

    Méthode 2 : Après ouverture du fichier, retrouvez ceci Trois lignes de 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
    Puis supprimez : les caractères 3DES_EDE_CBC. (Photo ci-dessous)

    Redémarrez ensuite le projet, et il n'y aura aucun problème pour établir une connexion préservative à SQL Server. Comment résoudre lerreur de connexion Java SqlServer

    Le fichier java.security avant modification :

    Le fichier java.security après modification :

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer