0

Alright, so I've decided to follow a tutorial on Youtube about SQL databases, and I created a database on PhpMyAdmin then exported (what I think is a table, not the entire database) an SQL backup file (customers.sql) to my desktop. I want to connect to it using JDBC, and I tried it with the code below.(note that I ensured that the driver was installed correctly with Class.forName("com.mysql.jdbc.Driver"); For debugging purposes please assume that only the file exists on my desktop, I have the driver, the following code, and nothing else. Also, I'm not sure how to get the sql file on localhost.

Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/customers","root", "");

This code generated an exception:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'customers'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:395)
at com.mysql.jdbc.Util.getInstance(Util.java:370)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1038)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:925)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1704)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1250)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2467)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2500)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2285)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:818)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:395)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at com.gmail.PhysicistSarah.TestProject.Database.DatabaseDriver.<init>(DatabaseDriver.java:32)
at com.gmail.PhysicistSarah.TestProject.Core.Main.databaseTrial(Main.java:99)
at com.gmail.PhysicistSarah.TestProject.Core.Main.main(Main.java:49)
1
  • check for your database spelling in mysql by show database; Commented Jul 5, 2013 at 7:23

3 Answers 3

3

You can't connect to a SQL file. A SQL file is just that: a file, with some text inside. If you want to connect to a MySQL database running on localhost, you need to install MySQL on your machine, start it, create a database, create tables in it, and populate the tables.

Follow the MySQL documentation for how to do that.

Sign up to request clarification or add additional context in comments.

Comments

0

Error clearly mentions that you don't have a database called 'customers'. Make sure that you have the database in mysql before connecting it through jdbc. Or maybe some typo errors in schema name in mysql or in jdbc code.

Comments

0

check for your (customers)database spelling in mysql database by query show databases; if it display your customers database then copy that name and put in your java code. other wise create by firing a query create database customers;

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.