[fix] Java JDBC SQLSyntaxErrorException: Unknown database

Exception Stack:
Exception in thread "main" java.sql.SQLSyntaxErrorException: Unknown database 'myDB'
 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
 at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828)
 at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:448)
 at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
 at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
 at java.sql.DriverManager.getConnection(DriverManager.java:664)
 at java.sql.DriverManager.getConnection(DriverManager.java:247)
 at JDBCInsertExample.main(JDBCInsertExample.java:19)|

As the exception cleary states that the Database that you are trying to access using JDBC does not exist, there are multiple things that might go wrong,

Possible issues and fixes:
  • Make sure you have spelled the database name correctly.
  • Database names are case-sensitive, make sure it matches with what is there in your Database (MySQL, Oracle, etc)
  • Use database query to validate the database name,
    mysql> show databases;
    | Database           |
    | information_schema |
    | my_uat             |
    | mysql              |
    | performance_schema |
    | sys                |
    5 rows in set (0.07 sec)
    Fix ava JDBC SQLSyntaxErrorException Unknown Database Error
  • Make sure you are connecting to the right Database server (it could be you are on the wrong server uat/staging/local)
  • Make sure the database port is correct

Have Questions? Post them here!