Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> [SOLVED] Java Stored Function can't return strings longer than 4096 chars (ORA-24345)

[SOLVED] Java Stored Function can't return strings longer than 4096 chars (ORA-24345)

From: Mike R. Prevost <mprevost_at_gradkell.com>
Date: Fri, 17 Aug 2001 08:44:50 -0500
Message-ID: <u89f7.55225$rV6.2594595@e420r-atl2.usenetserver.com>


OK. Finally gor Oracle to confirm that this is an Oracle bug (Bug
#1322857). It is actually related to a bug in the thin JDBC driver (Bug
#993409). The problem has suposably been fixed in Oracle 9i.

WORKAROUND: Use an out variable instead of returning . The bug is not triggered then. The java function would looks like this:

 public static void getStringJava( int nSize, String strOut[] )  {

    String strReturn;
    /* make string up to 32k */
    strOut[0] = strReturn;
 }

The PL/SQL publish script would look like this:

  create or replace procedure getStringJava( nSize IN number,

                                             strOut OUT varchar2 )
    as language Java
    name 'CTest.getStringJava(int, java.lang.String[])';

Hope that helps. Received on Fri Aug 17 2001 - 08:44:50 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US