Database: DB2 v7 OS390 Server: DB2 Connect v9, Tomcat 6.0.14, Java 1.6 Issue: LoginModule unable to load driver; raises SQLException "No suitable driver found"
Connection String: jdbc:db2:blah Driver: COM.ibm.db2.jdbc.app.DB2Driver I am developing a custom JAAS LoginModule to go against a database for authorization information. Each web application will have a JAAS realm declared within its Context. While developing the LoginModule, I am halted by an issue using the DB2Java library provided by IBM in Tomcat. Whenever the LoginModule is invoked and attempts to create a connection, it throws a SQLException of "No suitable driver found for ...". To test whether this was a DB2 Connect issue or not, I wrote a simply Java program that doesn't run in Tomcat to load the driver and create a connection to the server using the CLI settings the Tomcat code is using. It ran successfully. I also ran my unit test in Eclipse, which used the same exact settings, and it too performed successfully. There is an issue with Tomcat somehow, but I am unable to determine what. The DB2java.jar was placed within Tomcat's lib directory, which is handled by the common loader. Error Log: Caused by: java.sql.SQLException: No suitable driver found for jdbc:db2:LSU at java.sql.DriverManager.getConnection(DriverManager.java:602) at java.sql.DriverManager.getConnection(DriverManager.java:207) at edu.lsu.infrastructure.java_authorization.sam_authorization.JDBCAuthoriz ationModule.getConnection(JDBCAuthorizationModule.java:179) ... 23 more at javax.security.auth.login.LoginContext.invoke(LoginContext.java:872) at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186) at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680) at javax.security.auth.login.LoginContext.login(LoginContext.java:579) at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:362) at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAut henticator.java:258) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator Base.java:417) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java :128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java :102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve. java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:2 63) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:84 4) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process( Http11Protocol.java:584) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Thank you for any help offered as this on puzzles me, Andrew R Feller, Analyst Subversion Administrator University Information Systems Louisiana State University [EMAIL PROTECTED] (office) 225.578.3737
