Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

แก้ไขข้อผิดพลาด java.sql.SQLException: No suitable driver found for localhost test

ข้อผิดพลาด java.sql.SQLException: No suitable driver found เกิดขึ้นเมื่อ JDBC URL ที่ใช้ไม่ถูกต้องหรือไม่ได้รับการยอมรับจาก JDBC driver ที่โหลดไว้ โดยเฉพาะเมื่อใช้ MySQL ต้องระบุ URL ให้ถูกต้องตามรูปแบบที่ driver รองรับ

รูปแบบ JDBC URL สำหรับ MySQL ที่ถูกต้อง

jdbc:mysql://localhost:3306/database_name?useSSL=false

โดยมีองค์ประกอบดังนี้:

  • jdbc:mysql:// - โปรโตคอลสำหรับ MySQL
  • localhost:3306 - โฮสต์และพอร์ต (3306 เป็นพอร์ตเริ่มต้นของ MySQL)
  • database_name - ชื่อฐานข้อมูลที่ต้องการเชื่อมต่อ
  • ?useSSL=false - ปิดการใช้ SSL (สำหรับการพัฒนาในเครื่อง lokal)

ตัวอย่างโค้ด Java สำหรับเชื่อมต่อฐานข้อมูล

import java.sql.Connection;
import java.sql.DriverManager;

public class DatabaseConnection {
    public static void main(String[] args) {
        Connection con = null;
        try {
            con = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/sample?useSSL=false",
                "root",
                "123456"
            );
            System.out.println("Connection is successful !!!!!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

ข้อสังเกตสำคัญ

  • ต้องเพิ่ม MySQL Connector/J (JDBC driver) ใน classpath ของโปรเจกต์
  • ตรวจสอบให้แน่ใจว่า MySQL server กำลังทำงานอยู่ที่พอร์ต 3306
  • ชื่อผู้ใช้และรหัสผ่านต้องถูกต้องและมีสิทธิ์เข้าถึงฐานข้อมูล
  • หากใช้ MySQL 8.0+ อาจต้องเพิ่มพารามิเตอร์ allowPublicKeyRetrieval=true ด้วย

เมื่อรันโค้ดและเชื่อมต่อสำเร็จ จะแสดงข้อความ "Connection is successful !!!!!" บนคอนโซล