ข้อผิดพลาดประเภทนี้จะเกิดขึ้นหากคุณเลือกฐานข้อมูลใดๆ ที่ไม่มีอยู่ใน MySQL ให้เราแสดงข้อผิดพลาดของฐานข้อมูลที่ไม่รู้จักใน JDBC ก่อน
รหัส Java มีดังต่อไปนี้ ที่นี่เราได้ตั้งค่าฐานข้อมูลเป็น 'ร้านหนังสือออนไลน์' ซึ่งไม่มีอยู่:
<ก่อนหน้า> นำเข้า java.sql.Connection นำเข้า java.sql.DriverManager คลาสสาธารณะ UnknownDatabaseDemo { โมฆะสาธารณะหลัก (สตริง [] args) { สตริง JdbcURL ="jdbc:mysql://localhost:3306/onlinebookstore?useSSL=เท็จ"; ชื่อผู้ใช้สตริง ="รูท"; รหัสผ่านสตริง ="123456"; การเชื่อมต่อ con =null; ลอง { con =DriverManager.getConnection (JdbcURL, ชื่อผู้ใช้, รหัสผ่าน); System.out.println("เชื่อมต่อกับฐานข้อมูล MySQL"); } catch (ข้อยกเว้น e) { e.printStackTrace(); } }}ต่อไปนี้เป็นผลลัพธ์ที่แสดงข้อผิดพลาดเดียวกัน
com.mysql.jdbc.exceptions.jdbc4.MySQLsyntaxErrorException:ฐานข้อมูลที่ไม่รู้จัก 'onlinebookstore' ที่ sun.reflect.NativeConstructorAccessorImpl.newInstance0 (วิธีการดั้งเดิม) ที่ sun.reflect.NativeConstructorAccessorImpl.newInstance. .newInstance (ไม่ทราบแหล่งที่มา) ที่ java.lang.reflect.Constructor.newInstance (ไม่ทราบแหล่งที่มา) ที่ com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ที่ com.mysql.jdbc.Util.getInstance(Util. java:408) ที่ com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) ที่ com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978) ที่ com.mysql.jdbc.MysqlIOs.checkError .java:3914) ที่ com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:871) ที่ com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1714) ที่ com.Mysql.Bar MysqlIO.java:1224) ที่ com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2199) ที่ com.mysql.jdb c.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2230) ที่ com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2025) ที่ com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:77sql.) ที่ com.my jdbc.JDBC4Connection.(JDBC4Connection.java:47) ที่ sun.reflect.NativeConstructorAccessorImpl.newInstance0 (วิธีการดั้งเดิม) ที่ sun.reflect.NativeConstructorAccessorImpl.newInstance (ไม่ทราบแหล่งที่มา) ที่ sun.reflect.DelegatingConstructorAccessorImpl.newInstance lang.reflect.Constructor.newInstance (ไม่ทราบแหล่งที่มา) ที่ com.mysql.jdbc.Util.handleNewInstance (Util.java:425) ที่ com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) ที่ com.mysql jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) ที่ java.sql.DriverManager.getConnection (ไม่ทราบแหล่งที่มา) ที่ java.sql.DriverManager.getConnection (ไม่ทราบแหล่งที่มา) ที่ UnknowDatabaseDemo.main (UnknowDatabaseDpremo.java:15)>ภาพหน้าจอของข้อผิดพลาดมีดังนี้
หากต้องการลบข้อผิดพลาดประเภทนี้ เพียงไปที่บรรทัดคำสั่ง MySQL และแสดงชื่อฐานข้อมูลทั้งหมด และใช้ชื่อที่เลือกจากที่นั่น เช่น ฐานข้อมูลที่มีอยู่จริง
ที่นี่ เรามีฐานข้อมูลมากมาย และฉันจะเลือกฐานข้อมูล 'hb_student_tracker' ต่อไปนี้เป็นรายชื่อฐานข้อมูลทั้งหมด เราใช้คำสั่ง SHOW DATABASES:
นี่คือรหัส JDBC ที่เชื่อมต่อฐานข้อมูล “hb_student_tracker” รหัสมีดังนี้:
<ก่อนหน้า> นำเข้า java.sql.Connection นำเข้า java.sql.DriverManager คลาสสาธารณะ UnknownDatabaseDemo { โมฆะสาธารณะหลัก (สตริง [] args) { สตริง JdbcURL ="jdbc:mysql://localhost:3306/hb_student_tracker?useSSL=เท็จ"; ชื่อผู้ใช้สตริง ="รูท"; รหัสผ่านสตริง ="123456"; การเชื่อมต่อ con =null; ลอง { con =DriverManager.getConnection (JdbcURL, ชื่อผู้ใช้, รหัสผ่าน); System.out.println("เชื่อมต่อกับฐานข้อมูล MySQL"); } catch (ข้อยกเว้น e) { e.printStackTrace(); } }}
ภาพหน้าจอจะแสดงผลลัพธ์ดังต่อไปนี้: