最近使用spring时候配置的数据源是用的org.apache.commons.dbcp.BasicDataSource,但是在操作oracle的clob字段的时候产生了一些意想不到的问题:
问题:在对clob插入数据的时候,如果按 String方式插入,则会有4000个字符的限制,而我的应用很有可能有些情况会超过这个字符长度。
所以插入clob的时候采用OracleLobHandler,结果出现
OracleLobCreator needs to work on [oracle.jdbc.OracleConnection], not on [org.apache.commons.dbcp.PoolableConnection]: specify a corresponding NativeJdbcExtractor; nested exception is java.lang.ClassCastException: org.apache.commons.dbcp.PoolableConnection
解决:最后试了好几种方式,将数据源配置成spring内置的org.springframework.jdbc.datasource.DriverManagerDataSource就解决了这问题
<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"../>