-1

i m getting error

java.sql.SQLException: No suitable driver found for CONNECTION_URL

This is a connection provider java file.

   package login;
    import java.sql.*;
    import java.sql.SQLException;

    public class ConnectionProvider {
    static Connection con = null;
    String database = "game";
    String CONNECTION_URL = "jdbc:mysql://localhost:3306/" + database;
    String USERNAME = "root";
    String PASSWORD = "";

    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("CONNECTION_URL", "USERNAME", "PASSWORD");
            Statement stmt = con.createStatement();

        } catch (SQLException sqle) {
            System.out.println("SQLException: Unable to open connection to db: "+sqle.getMessage());
            try {
                throw sqle;
            } catch (SQLException e) {
                e.printStackTrace();
            }
        } catch(Exception e) {
            System.out.println("Exception: Unable to open connection to db: "+e.getMessage());
            try {
                throw e;
            } catch (ClassNotFoundException e1) {
                e1.printStackTrace();
            }
        }
    }
}

Im using navicat, mysql and tomcat sv. I'm pretty sure they are running. This is the log from IntelliJ.

SQLException: Unable to open connection to db: No suitable driver found for CONNECTION_URL
java.sql.SQLException: No suitable driver found for CONNECTION_URL
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at login.ConnectionProvider.<clinit>(ConnectionProvider.java:18)
    at login.loginDAO.validate(loginDAO.java:21)
    at login.loginDAO.doPost(loginDAO.java:56)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2463)
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2452)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)

thank you for your help

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
fontvu
  • 13
  • 1
  • 7

1 Answers1

0

You've double quoted your variables:

con = DriverManager.getConnection("CONNECTION_URL", "USERNAME", "PASSWORD");

should be

con = DriverManager.getConnection(CONNECTION_URL, USERNAME, PASSWORD);

As a result java is trying to find a database driver called CONNECTION_URL

Philip Couling
  • 13,581
  • 5
  • 53
  • 85
  • But when I remove the " ", the compiler says the field CONNECTION_URL, USERNAME and PASSWORD cannot be reference from a static context. – fontvu Jun 16 '15 at 15:41
  • 1
    Well, I declare the variables are static and it's ok now. Many thanks. – fontvu Jun 16 '15 at 15:47