org.springframework.dao.InvalidDataAccessApiUsageException: OracleLobCreator needs to work on[oracle.jdbc.OracleConnection], not on[com.mchange.v2.c3p0.impl.NewProxyConnection]: specify a correspondingNativeJdbcExtractor; nested exception is java.lang.ClassCastException: com.mchange.v2.c3p0.impl.NewProxyConnectioncannot be cast to oracle.jdbc.OracleConnection
at
SSH框架,在向oracle11g中插入图片时提示信息。
图片为byte[]对应数据库中的blob字段,错误原因是oracle版本问题,不同的版本处理方式不同。
oracle9的处理方式:
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor" lazy-init="true" />
<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">
<property name="nativeJdbcExtractor">
<ref bean="nativeJdbcExtractor" />
</property>
</bean>
oracle11的处理方式:
<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" />