MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

Java-MySQLを使用してJDBCエラーで不明なデータベースを解決しますか?


このタイプのエラーは、MySQLに存在しないデータベースを選択した場合に発生します。まず、JDBCで不明なデータベースのエラーを表示しましょう。

Javaコードは次のとおりです。ここでは、データベースを「onlinebookstore」として設定しましたが、これは存在しません:

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=false";
      String Username = "root";
      String password = "123456";
      Connection con = null;
      try {
         con = DriverManager.getConnection(JdbcURL, Username, password);
         System.out.println("Connected to MySQL database");
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

以下は、同じエラーを表示する出力です

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'onlinebookstore'
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
   at com.mysql.jdbc.Util.getInstance(Util.java:408)
   at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914)
   at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:871)
   at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1714)
   at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1224)
   at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2199)
   at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2230)
   at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2025)
   at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:778)
   at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
   at java.lang.reflect.Constructor.newInstance(Unknown Source)
   at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
   at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386)
   at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at java.sql.DriverManager.getConnection(Unknown Source)
   at UnknowDatabaseDemo.main(UnknowDatabaseDemo.java:15)
>

エラーのスクリーンショットは次のとおりです

Java-MySQLを使用してJDBCエラーで不明なデータベースを解決しますか?

このタイプのエラーを削除するには、MySQLコマンドラインに移動してすべてのデータベース名を表示し、そこから選択した名前、つまり実際に存在するデータベースを使用します。

ここにはたくさんのデータベースがあり、データベース「hb_student_tracker」を選択します。以下は、SHOWDATABASESコマンドを使用して取得したすべてのデータベース名のリストです。

Java-MySQLを使用してJDBCエラーで不明なデータベースを解決しますか?

これは、データベース「hb_student_tracker」を接続するJDBCコードです。コードは次のとおりです。

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=false";
      String Username = "root";
      String password = "123456";
      Connection con = null;
      try {
         con = DriverManager.getConnection(JdbcURL, Username, password);
         System.out.println("Connected to MySQL database");
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

スクリーンショットは次のとおりで、出力が表示されています。

Java-MySQLを使用してJDBCエラーで不明なデータベースを解決しますか?


  1. Java –ipAddressを使用したMySQL接続

    DriverManager.getConnectionでJDBCMySQLURLを設定して、IPアドレスに接続します。以下は、IPアドレスを使用して接続するためのコードです- 例 import java.sql.Connection; import java.sql.DriverManager; public class JavaIP {    public static void main(String[] args) {       String hostURL = "jdbc:mysql://192.168.43.144:330

  2. JDBCを使用してMySQLでバックスラッシュをエスケープする方法は?

    バックスラッシュをエスケープするには、レコードを挿入するときにPreparedStatementを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1904    (    ClientId int,    ClientName varchar(20),    ClientAge int    ); Query OK, 0 rows affected (0.00 sec) Javaコードは次のとおりです- import java.sql