Rumah >Java >javaTutorial >Bagaimana untuk menyelesaikan ralat SqlServer sambungan Java

Bagaimana untuk menyelesaikan ralat SqlServer sambungan Java

WBOY
WBOYke hadapan
2023-05-01 09:22:062334semak imbas

    Penemuan Masalah

    Kali ini saya menggunakan pangkalan data SqlServer saya tidak pernah menggunakannya, tetapi masalahnya tidak besar dokumen keperluan Langkah-langkah Selepas menyambung ke SqlServer, saya memulakan projek SpringBoot dan mendapati ralat, seperti berikut:

    Bagaimana untuk menyelesaikan ralat SqlServer sambungan Java

    Pada mulanya saya fikir ia adalah masalah sambungan SqlServer , jadi saya pergi untuk menyemak pangkalan data , dan mendapati bahawa segala-galanya dalam pangkalan data adalah normal, saya mula-mula bertanya kepada rakan sekerja saya jika mereka menghadapi masalah sedemikian, dan mendapati bahawa mereka tidak, jadi saya memulakan bahagian terbaik saya, pengaturcaraan untuk Baidu.

    Mula untuk menyelesaikan masalah

    Mesej ralat khusus ialah ini, jadi saya memulakan Baidu

    Laporan ralat: ERROR c.a.d.p.DruidDataSource$CreateConnectionThread [Druid-ConnectionThread Create-1218864105 ] buat sambungan SQLException, url:jdbc:sqlserver://47.114.91.217:1433;DatabaseName=PileTestingSystem, errorCode 0, nyatakan 08S01

    Irs it into all . Sistem, kod ralat 0 , status 08S01

    com.microsoft.sqlserver.jdbc.SQLServerException: Pemacu tidak dapat mewujudkan sambungan selamat ke SQL Server menggunakan penyulitan Secure Socket Layer (SSL). Ralat: "Keutamaan pelanggan [TLS12] tidak menerima versi protokol pilihan pelayan TLS10". ID sambungan pelanggan: c8434f3c-5f82-4cf2-b111-099e140f33d0
    di com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2670)-[mss.jql8 ]



    Sebab utama ralat ini ialah pemacu tidak boleh menggunakan penyulitan SSL untuk mewujudkan sambungan selamat ke SQL Server

    Penyelesaian

    Akhirnya, selepas siasatan saya, saya menemui dua penyelesaian, yang kini disediakan kepada semua orang

    Kaedah 1

    Jika anda menggunakan jdk1.8, anda mesti mencari dahulu Pasang sendiri fail

    java.security

    dalam direktori JDK dan ubah suainya

    Direktori saya adalah seperti berikut: D:jdkjrelibsecurity Akan ada ini
    java.security<.> Pengubahsuaian khusus pada fail adalah seperti berikut: Selepas membuka fail, ulas tiga baris kod ini (iaitu, tambah # sebelum tiga baris kod ini):

    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

    Kemudian mulakan semula projek, tidak akan ada masalah dalam mewujudkan sambungan selamat ke SQL Server.

    Gambar adalah seperti berikut:

    Fail java.security sebelum ini tanpa pengubahsuaian:

    Fail java.security yang diubah suai: Bagaimana untuk menyelesaikan ralat SqlServer sambungan Java

    Kaedah 2

    Bagaimana untuk menyelesaikan ralat SqlServer sambungan JavaSelepas membuka fail, cari tiga baris ini kod:

    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

    Kemudian alih keluar: aksara 3DES_EDE_CBC. (Gambar di bawah)

    Kemudian mulakan semula projek dan wujudkan sambungan kondom ke SQL Server, dan tidak akan ada masalah.

    Fail java.security sebelum pengubahsuaian:

    Fail java.security selepas pengubahsuaian: Bagaimana untuk menyelesaikan ralat SqlServer sambungan Java

    Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat SqlServer sambungan Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam