spring3操作clob问题

occour a unkonw error from actionlocation OracleLobCreator needs to work on [oracle.jdbc.OracleConnection], not on [oracle.jdbc.internal.OracleConnection$$EnhancerByProxool$$10e3032b]: specify a corresponding NativeJdbcExtractor; nested exception is java.lang.ClassCastException: oracle.jdbc.internal.OracleConnection$$EnhancerByProxool$$10e3032b 

在运行的时候抛出这样的异常

查了一下资料
原来是
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor" /> 
    <bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true"> 
        <property name="nativeJdbcExtractor"> 
            <ref bean="nativeJdbcExtractor" /> 
        </property> 
    </bean> 


这种配置的方法是针对9i的,因为Oracle9i处理Clob的方式和别的数据库很不一样,甚至与Oracle10g都不兼容。
所以,正确的配置应该是

<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true"/> 



参考网址:http://leng.iteye.com/blog/237651

你可能感兴趣的:(java,oracle,jdbc,Blog)