user1035079 user1035079 - 2 months ago 8
MySQL Question

java.sql.SQLException: No suitable driver found for localhost test

When trying to connect to mysql I always get this error:


java.sql.SQLException: No suitable driver found for localhost test


I already included the
mysql-connector.jar
in the
/WEB-INF/lib
in my app. What else do I need to configure to make it work? Do I need to add something in
web.xml
? I'm not using the appengine.

Here is my code in the server:

package com.mysql.server;

import java.sql.Connection;
import java.sql.DriverManager;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.mysql.client.ConnDb;

public class ConnDbImpl extends RemoteServiceServlet implements ConnDb {
public Connection con;
@Override
public String tryConn() {
try{
String host = "localhost";
String db = "test";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "pwd";

Class.forName(driver).newInstance();
con = DriverManager.getConnection(host+db, user, pass);
return "Connected to Database";
} catch(Exception ex) {
return ex.toString();
}
}
}

Answer

You will get this exception when the JDBC URL is not accepted by any of the loaded JDBC drivers as per the Driver#acceptsURL() method. You actually forgot the JDBC driver specific URI prefix. For the MySQL JDBC driver this is jdbc:mysql://. The full connection URL should look like this:

con = DriverManager.getConnection("jdbc:mysql://localhost/test", user, pass);

See also: