Computer >> Máy Tính >  >> Lập trình >> MySQL

Giải quyết cơ sở dữ liệu không xác định trong lỗi JDBC với Java-MySQL?

Loại lỗi này xảy ra nếu bạn chọn bất kỳ cơ sở dữ liệu nào không tồn tại trong MySQL. Trước tiên, hãy để chúng tôi hiển thị lỗi của cơ sở dữ liệu không xác định trong JDBC.

Mã Java như sau. Ở đây, chúng tôi đã đặt cơ sở dữ liệu là 'cửa hàng sách trực tuyến', cơ sở dữ liệu này không tồn tại:

 import java.sql.Connection; import java.sql.DriverManager; public class UnknownDatabaseDemo {public static void main (String [] args) {String JdbcURL ="jdbc:mysql:// localhost:3306 / onlinebookstore? useSSL =SAI"; String Tên người dùng ="root"; Mật khẩu chuỗi ="123456"; Kết nối con =null; thử {con =DriverManager.getConnection (JdbcURL, Tên người dùng, mật khẩu); System.out.println ("Đã kết nối với cơ sở dữ liệu MySQL"); } catch (Ngoại lệ e) {e.printStackTrace (); }}} 

Sau đây là đầu ra hiển thị cùng một lỗi

 com.mysql.jdbc.exceptions.jdbc4. .newInstance (Nguồn không xác định) tại java.lang.reflect.Constructor.newInstance (Nguồn không xác định) tại com.mysql.jdbc.Util.handleNewInstance (Util.java:425) tại com.mysql.jdbc.Util.getInstance (Util. java:408) tại com.mysql.jdbc.SQLError.createSQLException (SQLError.java:944) tại com.mysql.jdbc. .java:3914) tại com.mysql.jdbc.MysqlIO.checkErrorPacket (MysqlIO.java:871) tại com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication.MysqlIO.javakebysqland.shalIOm.java MysqlIO.java:1224) tại com.mysql.jdbc.ConnectionImpl.coreConnect (ConnectionImpl.java:2199) tại com.mysql.jdb c.ConnectionImpl.connectOneTryOnly (ConnectionImpl.java:2230) tại com.mysql.jdbc.ConnectionImpl.createNewIO (ConnectionImpl.java:2025) tại com.mysql.jdbc.ConnectionImpl. (ConnectionImpl.java:778) jdbc.JDBC4Connection. (JDBC4Connection.java:47) tại sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Phương pháp bản địa) tại sun.reflect.NativeConstructorAccessorImpl.newInstance (Nguồn không xác định) tại sun.refuctor. lang.reflect.Constructor.newInstance (Nguồn không xác định) tại com.mysql.jdbc.Util.handleNewInstance (Util.java:425) tại com.mysql.jdbc.ConnectionImpl.getInstance (ConnectionImpl.java:386) tại com.mysql. jdbc.NonRegisteringDriver.connect (NonRegisteringDriver.java:330) tại java.sql.DriverManager.getConnection (Nguồn không xác định) tại java.sql.DriverManager.getConnection (Nguồn không xác định) tại UnknowDatavaabaseDemo.main:15 (UnknowDatavaabaseDemo.main:15)> 

Ảnh chụp màn hình của lỗi như sau

Giải quyết cơ sở dữ liệu không xác định trong lỗi JDBC với Java-MySQL?

Để loại bỏ loại lỗi này, chỉ cần đi tới dòng lệnh MySQL và hiển thị tất cả các tên cơ sở dữ liệu và sử dụng tên đã chọn từ đó, tức là cơ sở dữ liệu thực sự tồn tại.

Ở đây, chúng tôi có rất nhiều cơ sở dữ liệu và tôi sẽ chọn cơ sở dữ liệu ‘hb_student_tracker’. Sau đây là danh sách tất cả các tên cơ sở dữ liệu, chúng tôi đã sử dụng lệnh SHOW DATABASES:

Giải quyết cơ sở dữ liệu không xác định trong lỗi JDBC với Java-MySQL?

Đây là mã JDBC kết nối cơ sở dữ liệu “hb_student_tracker”. Mã như sau:

 import java.sql.Connection; import java.sql.DriverManager; public class UnknownDatabaseDemo {public static void main (String [] args) {String JdbcURL ="jdbc:mysql:// localhost:3306 / hb_student_tracker? useSSL =SAI"; String Tên người dùng ="root"; Mật khẩu chuỗi ="123456"; Kết nối con =null; thử {con =DriverManager.getConnection (JdbcURL, Tên người dùng, mật khẩu); System.out.println ("Đã kết nối với cơ sở dữ liệu MySQL"); } catch (Ngoại lệ e) {e.printStackTrace (); }}} 

Ảnh chụp màn hình như sau hiển thị đầu ra:

Giải quyết cơ sở dữ liệu không xác định trong lỗi JDBC với Java-MySQL?