Just a quick note, if you are seeing
java.sql.SQLException: No suitable driver ...
although you are pretty sure you have :-
-
Got the jdbc connection information correct
- db username
- db password
- db url
- db driver class
-
Got the driver jar file in the classpath for your web all
-
You are using connection pooling such as c3p0 or commons-pool
It might be time to try sticking that jdbc driver jar file into the servlet container's global classpath. This approach seems to work well in my case. Haven't dig into connection pooling code but this is my guess. When the connection pool starts up it tries to register the jdbc Driver using perhaps
Class.forName("... jdbc driver....");
and for some reason seems to be loading it through system classloader hence if our jdbc driver jar file is in our webapp level, it's being missed causing this exception.
Hopefully, this helps whoever hits this issue.
Cheers