No suitable driver found for jdbc:mysql

I am trying to run the program whose code is attached. I am getting an error about the driver. I read that "The MySQL JDBC driver is called Connector/J. (The driver class is org.gjt.mm.mysql.Driver.) " I have mysql-connector-java-5.1.18-bin.jar in the directory at C:\Program Files\Weka-3-7\mysql-connector-java-5.1.18\.

My classpath looks like this:
.;C:\Program Files\Weka-3-7\weka.jar;C:\Program Files\Java\jre6\lib\ext\QTJava.zip;C:\Program Files\Weka-3-7\mysql-connector-java-5.1.18\mysql-connector-java-5.1.18-bin.jar

The program compiles but when I try to run it I get this:

C:\Users\Bill\Desktop\test>java JavaWekaJ48TestTrainPredSQL
Trying to add database driver (JDBC): org.gjt.mm.mysql.Driver - Warning, not in CLASSPATH?
Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:mysql://
mysql1003.ixwebhosting.com:3306/C261605_insidernet
        at java.sql.DriverManager.getConnection(DriverManager.java:604)
        at java.sql.DriverManager.getConnection(DriverManager.java:221)
        at weka.experiment.DatabaseUtils.connectToDatabase(DatabaseUtils.java:521)
        at weka.experiment.InstanceQuery.retrieveInstances(InstanceQuery.java:287)
        at weka.experiment.InstanceQuery.retrieveInstances(InstanceQuery.java:272)
        at JavaWekaJ48TestTrainPredSQL.main(JavaWekaJ48TestTrainPredSQL.java:53)

Can anyone say what is wrong here?
Thank you.
JavaWekaJ48TestTrainPredSQL.java
onyourmarkAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

for_yanCommented:
this is strange name for MySql driver - it is probably not prsent in mysql-connector:
org.gjt.mm.mysql.Driver
0
for_yanCommented:
copy this file
mysql-connector-java-5.1.18-bin.jar

into a new folder and change its extension to .zip to

mysql-connector-java-5.1.18-bin.zip

then open ithwuith winzip and look if you find the class Driver and idf it is really sitting in all these folders:

 org/gjt/mm/mysql
0
for_yanCommented:
I used this name of the driver for MySQL:

JDBC Driver: com.mysql.jdbc.Driver
0
CompTIA Security+

Learn the essential functions of CompTIA Security+, which establishes the core knowledge required of any cybersecurity role and leads professionals into intermediate-level cybersecurity jobs.

onyourmarkAuthor Commented:
Thanks.

I unzipped it
C:\Users\Bill\Desktop\New folder (2)\org\gjt\mm\mysql
and there is
Driver.class

in there.
0
for_yanCommented:
try download this file - findJar saya that the driver you are looking for is in this jar:

http://mirrors.ibiblio.org/pub/mirrors/maven2/mysql/mysql-connector-java/5.1.9/mysql-connector-java-5.1.9.jar
0
for_yanCommented:
show your connection code.
Do you have line

Class.forName("org.gjt.mm.mysql.Driver");

in there ?
0
onyourmarkAuthor Commented:
Hi. Thanks. Here is the website for this driver
http://dev.mysql.com/downloads/connector/j/
0
for_yanCommented:
I think this is the good example - follow it strictly - and check I'm sure you have the
noraml driver  com.mysql.jdbc.Driver
also present in your jar.

http://www.roseindia.net/jdbc/jdbc-mysql/MysqlConnect.shtml


So follow this code and it should work:
import java.sql.*;

public class MysqlConnect{
  public static void main(String[] args) {
  System.out.println("MySQL Connect Example.");
  Connection conn = null;
  String url = "jdbc:mysql://localhost:3306/";
  String dbName = "jdbctutorial";
  String driver = "com.mysql.jdbc.Driver";
  String userName = "root"; 
  String password = "root";
  try {
  Class.forName(driver).newInstance();
  conn = DriverManager.getConnection(url+dbName,userName,password);
  System.out.println("Connected to the database");
  conn.close();
  System.out.println("Disconnected from database");
  } catch (Exception e) {
  e.printStackTrace();
  }
  }
}

Open in new window

0
for_yanCommented:
yes, you web site is correct and jar is correct - that git.mm.... is the old way of calling this driver which is kept for compatibility.

Probably you have something incorrect in your actual code.

Anyway, I recommend that you follow structly thew example I posted above - I connected in this way to MySQL and uit should work
0
onyourmarkAuthor Commented:
Thanks again. I am following this tutorial
http://weka.wikispaces.com/Use+WEKA+in+your+Java+code

and they say to make sure you have the  Connector/J from http://dev.mysql.com/downloads/connector/j/ 

and

Notes:
Don't forget to add the JDBC driver to your CLASSPATH.
0
for_yanCommented:
The place form which you download is correct and your jar is fine - they are just using the old version of the driver; the newr one is the one I showed you.

The older one should alkso work but as you see it does not So try the one which is used now as a standard

Also post your actual connection code (similar to the piece which I posted) - maybe there is a mistake there

Did you write connection code yourself ?
0
for_yanCommented:
how do you sepcify CLASsPATH?
did you type that command frok  the commad line?
0
onyourmarkAuthor Commented:
No. I put it in the classpath variable in the environment variables.
0
for_yanCommented:
go to your command line and print from the command line
echo %CLASSPATH% and post here
0
for_yanCommented:
Also post your actual connection code (similar to the piece which I posted) - maybe there is a mistake there

Did you write connection code yourself ?
0
onyourmarkAuthor Commented:
C:\Users\Bill\Desktop\test>echo %CLASSPATH%
.;C:\Program Files\Weka-3-7\weka.jar;C:\Program Files\Java\jre6\lib\ext\QTJava.zip;C:\Progra
m Files\Weka-3-7\mysql-connector-java-5.1.18\mysql-connector-java-5.1.18-bin.jar

Now I tried again to run it (I closed the cmd window and reopened it) and I get
C:\Users\Bill\Desktop\test>java JavaWekaJ48TestTrainPredSQL
Exception in thread "main" java.lang.UnsupportedClassVersionError: JavaWekaJ48TestTrainPredS
QL : Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: JavaWekaJ48TestTrainPredSQL.  Program will exit.
0
for_yanCommented:
Come on - that is your old issue - you are trying to run it with Java 6 though it was compiled iwth Java 7
change the PATH so that it should point to JDK7/bin
0
onyourmarkAuthor Commented:
sorry :-(

Can I confirm, every time I make a change to a system variable through the control panel I have to close the command window and reopen it?

Also, whenever I open a new command window and I want to run a class file, I need to first call the setPath.bat code?

Now I think I am making some progress. It says "access denied for user 'nobody' using password: No. I guess I have to create a user for the database with read permission and then fill in with those credentials and try again?

Thanks.
0
for_yanCommented:
Can I confirm, every time I make a change to a system variable through the control panel I have to close the command window and reopen it?

YES

Also, whenever I open a new command window and I want to run a class file, I need to first call the setPath.bat code?

YES, it is safe to do it
Alternatively you can go to that control panel place and put that ....jdk7/bin path - at the
very beginning of your PATH - then it will always pick up both your java.exe and javac.exe  form that folder and you should not have problems with that


Now I think I am making some progress. It says "access denied for user 'nobody' using password: No. I guess I have to create a user for the database with read permission and then fill in with those credentials and try again?

YES, this means iot already accepted and used the driver calss
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
onyourmarkAuthor Commented:
YESSS!
It works. Thanks for your help!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Java

From novice to tech pro — start learning today.