Hi Jeffrey, actually we use ojdbc14.jar. And it is version 10.2.0.2.0. Maybe I should really try ojdbc6.jar because ojdbc4.jar is for jdk4. I will try it and let you know.
Peter Busfy 3 Portal Hutchison 3G Austria GmbH Gasometer C Guglgasse 12/10/3 1110 Vienna Mobil: +43-660-7313346 mailto:peter.bu...@drei.com http://www.drei.at -----Original Message----- From: Jeffrey Janner [mailto:jeffrey.jan...@polydyne.com] Sent: Thursday, August 16, 2012 4:33 PM To: 'Tomcat Users List' Subject: RE: tomcat and DB oracle problem - only in higher versions Peter – I'm not a complete expert, but it appears to me that the error is saying it needs the Oracle JDBC drivers to do LOB work. What is the version of ojdbc6.jar do you have in your classpath? You really want the 11.2.0.3 version, particularly with that version of Java. Jeff From: Busfy,Peter [mailto:peter.bu...@drei.com] Sent: Thursday, August 16, 2012 9:24 AM To: users@tomcat.apache.org Subject: tomcat and DB oracle problem - only in higher versions Hello, I found following problem when java application is trying save xml data into xml column to database. I found a problem with tomcat which is happening in the version 6.0.32 and 6.0.35 (maybe also in other version), but working really fine with version 6.0.26. My configuration: OS: windows 7 enterprise IDE: Eclipse EE 3.7.1 Java: 1.6.0_33 Tomcat: 6.0.26, 6.0.32, 6.0.35 DB: Oracle Database 11g Enterprise Edition 11.2.0.3.0 Other technologies: Spring 3.1.1 + Hibernate 3 + Struts 1.1 Here is the exception stack trace: 2012-08-13 14:26:32,434 ERROR [at.h3g.portal.selfcare.frontend.struts.actions.BaseAction] - <Exception catched in BaseAction: OracleLobCreator needs to work on [oracle.jdbc.OracleConnection], not on [org.apache.tomcat.dbcp.dbcp.PoolableConnection]: specify a corresponding NativeJdbcExtractor; nested exception is java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp.PoolableConnection cannot be cast to oracle.jdbc.OracleConnection> org.springframework.dao.InvalidDataAccessApiUsageException: OracleLobCreator needs to work on [oracle.jdbc.OracleConnection], not on [org.apache.tomcat.dbcp.dbcp.PoolableConnection]: specify a corresponding NativeJdbcExtractor; nested exception is java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp.PoolableConnection cannot be cast to oracle.jdbc.OracleConnection at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.createLob(OracleLobHandler.java:505) at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.setClobAsString(OracleLobHandler.java:413) at org.springframework.orm.hibernate3.support.ClobStringType.nullSafeSetInternal(ClobStringType.java:86) at org.springframework.orm.hibernate3.support.AbstractLobType.nullSafeSet(AbstractLobType.java:180) at org.hibernate.type.CustomType.nullSafeSet(CustomType.java:140) at org.hibernate.persister.entity.AbstractEntityPersister.dehydrate(AbstractEntityPersister.java:2184) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2431) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2875) at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:184) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133) at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:656) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at at.h3g.portal.commons.logging.StatsMethodLogger.invoke(StatsMethodLogger.java:93) at at.h3g.portal.commons.logging.StatsMethodInterceptor.invoke(StatsMethodInterceptor.java:14) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy4.submitXML(Unknown Source) at at.h3g.portal.helper.OrderHelper.createAndStoreServiceOrderXML(OrderHelper.java:85) at at.h3g.portal.helper.OrderHelper.createAndStoreServiceOrderXML(OrderHelper.java:103) at at.h3g.portal.layer.BusinessLayer.createAndStoreServiceOrderXML(BusinessLayer.java:366) at at.h3g.portal.layer.SettingsHelper.changeFlag(SettingsHelper.java:509) at at.h3g.portal.selfcare.frontend.struts.actions.multisettings.SaveMultiSettingsAction.exec(SaveMultiSettingsAction.java:202) at at.h3g.portal.selfcare.frontend.struts.actions.BaseAction.execute(BaseAction.java:463) at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:113) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at at.h3g.portal.commons.logging.context.NDContextLoggingFilter.doFilter(NDContextLoggingFilter.java:54) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at at.h3g.portal.commons.logging.StatsMethodLogger.invoke(StatsMethodLogger.java:77) at at.h3g.portal.commons.logging.StatsMethodInterceptor.invoke(StatsMethodInterceptor.java:36) at at.h3g.portal.commons.logging.AbstractLoggingFilter.doFilter(AbstractLoggingFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at at.h3g.portal.commons.filters.AbstractHttpRequestSanitizationFilter.doFilter(AbstractHttpRequestSanitizationFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at at.h3g.portal.commons.filters.AbstractHttpRequestValidationFilter.doFilter(AbstractHttpRequestValidationFilter.java:78) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 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:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp.PoolableConnection cannot be cast to oracle.jdbc.OracleConnection at oracle.sql.CLOB.createTemporary(CLOB.java:754) at oracle.sql.CLOB.createTemporary(CLOB.java:716) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.prepareLob(OracleLobHandler.java:541) at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.createLob(OracleLobHandler.java:488) ... 70 more I don’t know if these information are enough for you. If you need any other information don’t hesitate to ask. Best Regards Peter Busfy [cid:image53295b.JPG@4d39428d.45aa78e2] dreibusinesslink __________________________________________________________________________ Confidentiality Notice: This Transmission (including any attachments) may contain information that is privileged, confidential, and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient you are hereby notified that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this transmission in error, please immediately reply to the sender or telephone (512) 343-9100 and delete this transmission from your system.