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
本文解决了一个特定的OracleLOB处理异常,涉及Spring框架中对Oracle9i及更高版本数据库的LOB对象处理方式的区别,并给出了正确的配置示例。
326

被折叠的 条评论
为什么被折叠?



