在我的应用程序中,我不断地得到执行。

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)


这是我的lobHandler的Spring bean定义。

<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"/>


我在tomcat lib文件夹中也有ojdbc6-12.1.0.1 jar,并且在我的类路径中也有。我尝试了几种Google解决方案,但似乎无济于事。

任何建议

最佳答案

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

关于java - java.lang.ClassCastException:org.apache.tomcat.dbcp.dbcp.PoolableConnection无法转换为oracle.jdbc.OracleConnection,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36114776/

10-10 05:02