Quantcast
Channel: SCN : Discussion List - SAP HANA Developer Center
Viewing all articles
Browse latest Browse all 6412

SAP HANA DB connectivity through Spring JDBC Template

$
0
0

Hi,

I am able to connect SAP Hana database through JDBC successfully in standalone Java application and I am using ngdbc.jar, but when I try to do the same thing using Spring JdbcTemplate in my web-based project, I am getting following error. I am using BasicDataSource class of commons-dbcp2 i.e.

 

<bean id="dataSourceHana"

  class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">

  <property name="url" value="jdbc:sap://MyServer:MyPort?autocommit=false" />

    <property name="driverClassName" value="com.sap.db.jdbc.Driver" />

    <property name="username" value="xxxx" />

    <property name="password" value="xxxx" />

    <property name="initialSize" value="${jdbc.initial_pool_size}" />

    <property name="maxTotal" value="${jdbc.max_total}" />

    <property name="poolPreparedStatements" value="${jdbc.pool_prepare_statments}" />

  </bean>

 

Also ngdbc.jar is on my application's classpath.


Also if try to use simple jdbc in Java web project , still I am getting the same ClassNotFoundException, it looks that in web-project somehow this com.sap.db.jdbc.Driver is not loaded.


Please anyone can guide me if there is anything that I am missing?

 

 

Error Stack trace:-

 

 

Cannot load JDBC driver class 'com.sap.db.jdbc.Driver'

java.lang.ClassNotFoundException: com.sap.db.jdbc.Driver

  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1858)

  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1709)

  at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2131)

  at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2033)

  at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)

  at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)

  at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)

  at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:630)

  at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:909)

  at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:970)

  at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:980)

  at com.mahopos.dao.SAPHanaJdbcDaoImpl.addCustomer(SAPHanaJdbcDaoImpl.java:43)

  at com.mahopos.services.DataServicesImpl.addCustomer(DataServicesImpl.java:69)

  at com.mahopos.controller.CustomerController.addCustomer(CustomerController.java:39)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

  at java.lang.reflect.Method.invoke(Method.java:497)

  at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)

  at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)

  at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)

  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)

  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)

  at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)

  at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)

  at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)

  at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)

  at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)

  at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:152)

  at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)

  at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at com.mahopos.security.jwt.JwtFilter.doFilter(JwtFilter.java:77)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57)

  at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)

  at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)

  at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)

  at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)

  at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)

  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)

  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)

  at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)

  at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)

  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja2016-03-14 19:00:11,489 ERROR CustomerController:46 -

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot load JDBC driver class 'com.sap.db.jdbc.Driver'

  at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)

  at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:630)

  at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:909)

  at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:970)

  at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:980)

  at com.mahopos.dao.SAPHanaJdbcDaoImpl.addCustomer(SAPHanaJdbcDaoImpl.java:43)

  at com.mahopos.services.DataServicesImpl.addCustomer(DataServicesImpl.java:69)

  at com.mahopos.controller.CustomerController.addCustomer(CustomerController.java:39)

  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

  at java.lang.reflect.Method.invoke(Method.java:497)

  at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)

  at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)

  at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)

  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)

  at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)

  at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)

  at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)

  at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)

  at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)

  at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)

  at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)

  at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:152)

  at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)

  at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at com.mahopos.security.jwt.JwtFilter.doFilter(JwtFilter.java:77)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:57)

  at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)

  at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

  at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)

  at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)

  at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)

  at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)

  at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)

  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)

  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)

  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)

  at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)

  at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)

  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

  at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

  at java.lang.Thread.run(Thread.java:745)

Caused by: java.sql.SQLException: Cannot load JDBC driver class 'com.sap.db.jdbc.Driver'

  at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2139)

  at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2033)

  at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)

  at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)

  at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)

  ... 77 more

Caused by: java.lang.ClassNotFoundException: com.sap.db.jdbc.Driver

  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1858)

  at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1709)

  at org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:2131)

  ... 81 more


Viewing all articles
Browse latest Browse all 6412

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>