Environment: oracle 11g, spring-jdbc-3.2.2-RELEASE.jar, JDK 1.7, Oracle UCP driver.
I have a stored procedure which insert record to a table with CLOB column. The SP has a CLOB input argument among other IN and OUT arguments. My Java code uses Spring StoredProcedure to call the stored procedure:
public class MyClass extends StoredProcedure {
public MyClass(){
.....
declareParameter(new SqlParameter("content", Types.CLOB));
.....
}
public void insert(){
HashMap<String,Object> params = new HashMap<String, Object>(37);
String bigContent = ....; // which contains ASCII chars in my test
....
params.put("content", new SqlLobValue(bigContent));
....
execute(params);
}
}
The code works fine if bigContent has < 32k chars. If bigContent has, say 50K, chars, it didn't work. I also tested using jdbcTemplate and SqlLobValue to insert into the table directly, everything works fine with bigContent has 50K chars.
I want to use the SP as it does a whole bunch of other stuff and is more efficient than invoking multiple SQL insert, update, and query statements separately.
Anyone know how to get it to work with SP? Or this is the limit I have to handle it differently if bigContent has > 32K chars?