| Author |
Clobs, Stored procedures and Oracle 8i
|
J Rosetto
Greenhorn
Joined: Jun 03, 2008
Posts: 21
|
|
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?
|
 |
Jeanne Boyarsky
internet detective
Marshal
Joined: May 26, 2003
Posts: 26166
|
|
|
I've never used setString() with a CLOB. I've also never created an actual CLOB. Instead I use setAsciiStream() on the prepared statement.
|
[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
|
 |
 |
|
|
subject: Clobs, Stored procedures and Oracle 8i
|
|
|