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)>
エラーのスクリーンショットは次のとおりです
このタイプのエラーを削除するには、MySQLコマンドラインに移動してすべてのデータベース名を表示し、そこから選択した名前、つまり実際に存在するデータベースを使用します。
ここにはたくさんのデータベースがあり、データベース「hb_student_tracker」を選択します。以下は、SHOWDATABASESコマンドを使用して取得したすべてのデータベース名のリストです。
これは、データベース「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 –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
-
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