Apparently wrong driver class specified for URL

Document ID : KB000043282
Last Modified Date : 14/02/2018
Show Technical Document Details

Symptoms:

When trying to use JDBC password consumer for a jboss application gets the following in server.log: 

2016-05-13 01:19:46,261 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/Test_Jboss].[jsp]] Servlet.service() for servlet jsp threw exception org.jboss.resource.JBossResourceException: Apparently wrong driver class specified for URL: class: com.ca.ppm.clients.jdbc.CAJDBCDriver, url: jdbc:sqlserver://<server>:<port>;DatabaseName=<database>

Also gets message when SQL Server driver is used directly: 

2016-05-16 11:31:55,294 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/Test_Jboss].[jsp]] Servlet.service() for servlet jsp threw exception org.jboss.resource.JBossResourceException: Apparently wrong driver class specified for URL: class: com.microsoft.sqlserver.jdbc.SQLServerDriver, url: jdbc:sqlserver://<server>:<port>;DatabaseName=<database> 


Cause:

From https://msdn.microsoft.com/en-us/library/ms378422(v=sql.110).aspx:

sqljdbc.jar Requires a Java Runtime Environment (JRE) of version 5.0. Using JRE 6.0 or higher will throw an exception when connecting to a database. 
Note: "Using JRE 6.0 or higher will throw an exception when connecting to a database" 

The SQL Server jdbc driver is throwing an exception, and the cajdbc driver is acting on this exception and re-throwing it.

 

Resolution:

Customer needs to use the correct jdbc driver for the version of java they are using. See: 

https://msdn.microsoft.com/en-us/library/ms378422(v=sql.110).aspx: