源代码:String sql = "insert into sample(id,name,c_text) values(?,?,?)";
getJdbcTemplate().execute(sql, new AbstractLobCreatingPreparedStatementCallback(this.lobHandler){
@Override
protected void setValues(PreparedStatement ps,
LobCreator lobCreator) throws SQLException,
DataAccessException {
ps.setString(1,mySample.getId());
ps.setString(2, mySample.getName());
lobCreator.setClobAsString(ps, 3, mySample.getC_text());
}
});spring配置文件:
<bean id="nativeJdbcExtractor"
class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"
lazy-init="true"/>
<bean id="lobHanler"
class="org.springframework.jdbc.support.lob.OracleLobHandler"
lazy-init="true">
<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor"/>
</bean>报错:
oracle.jdbc.driver.ClientDataSupport$$EnhancerByProxool$$9819c34c cannot be cast to oracle.jdbc.driver.OracleConnectionOracleLobCreator needs to work on [oracle.jdbc.OracleConnection], not on [oracle.jdbc.driver.ClientDataSupport$$EnhancerByProxool$$9819c34c]: specify a corresponding NativeJdbcExtractor; nested exception is java.lang.ClassCastException: oracle.jdbc.driver.ClientDataSupport$$EnhancerByProxool$$9819c34c cannot be cast to oracle.jdbc.driver.OracleConnection
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
getJdbcTemplate().execute(sql, new AbstractLobCreatingPreparedStatementCallback(this.lobHandler){
@Override
protected void setValues(PreparedStatement ps,
LobCreator lobCreator) throws SQLException,
DataAccessException {
ps.setString(1,mySample.getId());
ps.setString(2, mySample.getName());
lobCreator.setClobAsString(ps, 3, mySample.getC_text());
}
});spring配置文件:
<bean id="nativeJdbcExtractor"
class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor"
lazy-init="true"/>
<bean id="lobHanler"
class="org.springframework.jdbc.support.lob.OracleLobHandler"
lazy-init="true">
<property name="nativeJdbcExtractor" ref="nativeJdbcExtractor"/>
</bean>报错:
oracle.jdbc.driver.ClientDataSupport$$EnhancerByProxool$$9819c34c cannot be cast to oracle.jdbc.driver.OracleConnectionOracleLobCreator needs to work on [oracle.jdbc.OracleConnection], not on [oracle.jdbc.driver.ClientDataSupport$$EnhancerByProxool$$9819c34c]: specify a corresponding NativeJdbcExtractor; nested exception is java.lang.ClassCastException: oracle.jdbc.driver.ClientDataSupport$$EnhancerByProxool$$9819c34c cannot be cast to oracle.jdbc.driver.OracleConnection
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:515)
这个是查询语句 你看对你有用不
定义的是CLOB,用JdbcTemplate插入低于4000的可以,超过4000就报错,和楼主一样的错,如果插入时用EMPTY_CLOB()就可以插入4000的
请问您用的oracle jdbc驱动是什么版本的?