简体   繁体   中英

java.lang.ClassCastException: org.apache.tomcat.dbcp.dbcp.PoolableConnection cannot be cast to oracle.jdbc.OracleConnection

In my application, I am continously getting this execption.

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:547) ~[spring-jdbc-4.1.4.RELEASE.jar:4.1.4.RELEASE]
    at org.springframework.jdbc.support.lob.OracleLobHandler$OracleLobCreator.setClobAsString(OracleLobHandler.java:447) 

Here is my spring bean definition for lobHandler .

<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler"
      p:nativeJdbcExtractor-ref="nativeJdbcExtractor"/>

<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor"/>


<bean id="jobRepository"
      class="org.springframework.batch.core.repository.support.JobRepositoryFactoryBean"
      p:lobHandler-ref="oracleLobHandler" p:dataSource-ref="dataSource"
      p:databaseType="oracle" p:tablePrefix="BATCH_"
      p:transactionManager-ref="transactionManager"
      p:isolationLevelForCreate="ISOLATION_READ_COMMITTED"/>

I having, ojdbc6-12.1.0.1 jar in tomcat lib folder as well in my classpath. I tried few google solutions, but nothing seems working.

Any suggesstions

您正在使用c3po本机JDBC提取器,而您可能应该在其中使用DBCP本机jdbc提取器。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM