Tomcat error: java.sql.SQLException: No suitable driver found for jdbc:sqlserver://

Arturas M picture Arturas M · Jul 7, 2012 · Viewed 12.3k times · Source

I have a terrible problem with Tomcat, well terrible because of this problem I've thrown away the project for more than a month now... Yet I'll still need to solve it and to go on with the project...

So it's throwing me this error:

java.sql.SQLException: No suitable driver found for jdbc:sqlserver://isd.ktu.lt:1433;DatabaseName=LN2012_bakDB2 java.lang.NullPointerException

The thing is that the same application is working in the desktop version perfectlz, however when it comes to the version which is supposed to be running on the server (Tomcat 7.0.22.0 inside NetBeans 7.1.2) it just throws the Error. It seems it doesn't load the pooling driver or I don't even know...

Well here's the part responsible for that:

public DatabaseConnection(Parameters params) {                

    // parameters and the output                
    this.gui = params.getGui();

    // activate database pool
    connectionPool = new GenericObjectPool(null);
    connectionFactory = new DriverManagerConnectionFactory(params.getDbAdr(), params.getDbUser(), params.getDbPass());
    poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true);
    driver = new PoolingDriver();
    driver.registerPool("GenTreeDatabase", connectionPool);
    //driver.registerPool("jdbc:apache:commons:dbcp:GenTreeDatabase", connectionPool);        

}

public void openConn() {
    if (allowOutput) gui.print("Getting connection to database");
    try {
        con = DriverManager.getConnection("jdbc:apache:commons:dbcp:GenTreeDatabase");
        if (con != null) {
            if (allowOutput) gui.print("Connection to database was successful");
        }
    } catch (SQLException ex) {
        gui.err(specificError + "Error getting connection to database - " + ex);
    }
}

It happens at the point where it tries to get the connection, then it gets a null pointer exception, since the connection is not retrieved successfuly.

I'm not familiar with Tomcat and up until this moment, Netbeans handled tomcat fine... The thing is I hate errors like this... If you don't solve it in three days, you get so frustrated and don't wanna get back to that, you feel like hitting a wall... Now I tried googling a lot about it, but still it wasn't much of a help... So I'd be really glad if somebody could help me with this. Thanks. :)

Answer

M. Abbas picture M. Abbas · Jul 9, 2012

You have to copy the JDBC Driver's jar into $CATALINA_HOME/lib.