【oracle】oracle jdbc驱动与c3p0的一个兼容问题

环境

oracle 12c 12.1.0.1
oracle jdbc7 12.1.0.1
c3p0 0.9.1.1
tomcat 7.0.55
jdk 1.7

问题

java.lang.RuntimeException: java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyResultSet.getNClob(I)Ljava/sql/NClob;

解决办法

解决办法1:更换oracle jdbc驱动为:oracle odbc14 10.2.0.5
解决办法2:更换c3p0版本为:c3p0 0.9.5.2

完整错误信息

java.lang.RuntimeException: java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyResultSet.getNClob(I)Ljava/sql/NClob;
    at com.jfinal.aop.Invocation.invoke(Invocation.java:93)
    at com.srie.scheduling.interceptor.ApmInterceptor.intercept(ApmInterceptor.java:26)
    at com.jfinal.aop.Invocation.invoke(Invocation.java:67)
    at com.jfinal.aop.Callback.intercept(Callback.java:96)
    at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    at com.jfinal.aop.Invocation.invoke(Invocation.java:82)
    at com.srie.scheduling.interceptor.ApmInterceptor.intercept(ApmInterceptor.java:26)
    at com.jfinal.aop.Invocation.invoke(Invocation.java:67)
    at com.jfinal.aop.Callback.intercept(Callback.java:96)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
    at org.apache.cxf.jaxws.JAXWSMethodInvoker.performInvocation(JAXWSMethodInvoker.java:66)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
    at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:232)
    at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:85)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:74)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)
    at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
    at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:254)
    at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
    at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:180)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:298)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:217)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:273)
    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 com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:82)
    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:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.AbstractMethodError: com.mchange.v2.c3p0.impl.NewProxyResultSet.getNClob(I)Ljava/sql/NClob;
    at com.jfinal.plugin.activerecord.RecordBuilder.build(RecordBuilder.java:51)
    at com.jfinal.plugin.activerecord.DbPro.find(DbPro.java:301)
    at com.jfinal.plugin.activerecord.DbPro.find(DbPro.java:313)
    at com.jfinal.plugin.activerecord.DbPro.findFirst(DbPro.java:336)
    at com.jfinal.plugin.activerecord.DbPro.findFirstByCache(DbPro.java:788)
    at com.jfinal.plugin.activerecord.DbPro.findFirstByCache(DbPro.java:798)
    at com.srie.dell.scheduling.service.WsService.ispostcode_h(WsService.java:458)
    at com.srie.dell.scheduling.service.WsService$$EnhancerByCGLIB$$4f254c3b.CGLIB$ispostcode_h$9()
    at com.srie.dell.scheduling.service.WsService$$EnhancerByCGLIB$$4f254c3b$$FastClassByCGLIB$$a43d962c.invoke()
    at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
    at com.jfinal.aop.Invocation.invoke(Invocation.java:82)
    ... 64 more

你可能感兴趣的:(oracle)