I have a stored procedure which takes in a Clob as one of IN arguments:
e.g.
PROCEDURE clob_processor(p_c_frag IN CLOB)
I can run the following code against an Oracle 10g database with no problems:
Connection connection = DatabaseHandler.getInstance().getConnection();
CallableStatement statement = connection.prepareCall("call TEST.CLOB_PROCESSOR.clob_processor (?)");
statement.setString("my clob string");
statement.execute;
However, when I run this same code on Oracle 8i I get the following error:
Exception in
thread "main" java.sql.SQLException: ORA-06553: P LS-306: wrong number or types of arguments in call to 'CLOB_PROCESSOR'
Unfortunately I cannot find any way to create a CLOB object to encapsulate my
String. There are a couple of createTemporary() methods which can do this, but unfortunately they don't seem to work, as I am using an Apache DBCP connection wrapper.
Does anyone know any other way of generating clobs, or obtaining the wrapped connection from within a DBCP wrapper?