Maison >Java >javaDidacticiel >Comment résoudre l'erreur de connexion Java SqlServer
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 :
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 chinoiseErreur 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 08S01com.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 1Si vous utilisez jdk1.8, vous devez d'abord trouver le fichierjava.security dans le répertoire où vous avez installé le JDK et le modifier Mon répertoire est le suivant :
D:jdkjrelibsecurity 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 :
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.
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!