I am facing one JDBC exception (once in 100 times).
But even in that case, I want to take control of that exception and make the process smooth
Caused by: java.lang.NoClassDefFoundError
at oracle.jdbc.driver.T4CDriverExtension.allocatePreparedStatement(T4CDriverExtension.java:67)
at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3559)
at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:3445)
at oracle.jdbc.OracleDatabaseMetaData.getTables(OracleDatabaseMetaData.java:2766)
at com.mchange.v2.c3p0.impl.DefaultConnectionTester.activeCheckConnection(DefaultConnectionTester.java:70)
at com.mchange.v2.c3p0.impl.DefaultConnectionTester.statusOnException(DefaultConnectionTester.java:59)
at com.mchange.v2.c3p0.impl.C3P0PooledConnection$ProxyConnectionInvocationHandler.handleMaybeFatalToPooledConnection(C3P0PooledConnection.java:837)
at com.mchange.v2.c3p0.impl.C3P0PooledConnection$ProxyConnectionInvocationHandler.invoke(C3P0PooledConnection.java:732)
at com.mchange.v2.c3p0.impl.$Proxy55.prepareStatement(Unknown Source)
at org.springframework.jdbc.core.PreparedStatementCreatorFactory$PreparedStatementCreatorImpl.createPreparedStatement(PreparedStatementCreatorFactory.java:232)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:581)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:843)
at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.update(NamedParameterJdbcTemplate.java:288)
This in not an SQLException. Your problem here lies with your JDBC driver which is not available to your application. In other words you are trying to use something (driver) that doesn’t exist.
Solution:
1)Make sure you have the proper JDBC driver form Oracle ( http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html )
2) Make sure you make available the driver to your application
Here is a good place to start http://docs.oracle.com/javase/tutorial/jdbc/overview/index.html