เขียนโค้ดเชื่อมต่อฐานข้อมูล 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;";