Devdit
 

The driver could not establish a secure connection วิธีแก้ไข

1K

เขียนโค้ดเชื่อมต่อฐานข้อมูล SQL Server 2019 Express ด้วยภาษา Java แบบ Windows Authentication แต่รันแล้วขึ้น Error The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption ปัญหานี้ต้องแก้ไขอย่างไร

package net.codejava.jdbc;

class Test {  
    public static void main(String args[]){ 
        Connection conn = null;
        try {
            String connURL =    "jdbc:sqlserver://LAPTOP-XXXXXX\\SQLEXPRESS;"+
                                "databaseName=demo;"+
                                "integratedSecurity=true;"+
                                "portNumber=1433;";
            conn = DriverManager.getConnection(connURL);
            if (conn != null) {
                System.out.println("Java เชื่อมต่อ SQL Server Express");
            }            
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
}

 

วิธีแก้ไข

แนะนำให้เพิ่มคำสั่ง encrypt เท่ากับ true และ trustServerCertificate เท่ากับ true ต่อท้ายตัวแปร conn ที่เป็น Connection String ของ Java ที่ใช้สำหรับเชื่อมต่อ SQL Server 2019 Express และลองรันใหม่อีกครั้ง

String connURL = "jdbc:sqlserver://LAPTOP-XXXXXX\\SQLEXPRESS;"+
                    "databaseName=demo;"+
                    "integratedSecurity=true;"+
                    "portNumber=1433;"+
                    "encrypt=true;"+
                    "trustServerCertificate=true;";
แก้ไข 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ