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 -> Re: Oracle OUT Parameters

Re: Oracle OUT Parameters

From: Frank van Bortel <frank.van.bortel_at_gmail.com>
Date: Tue, 06 Nov 2007 22:10:03 +0100
Message-ID: <fgql74$g7l$1@news6.zwoll1.ov.home.nl>


mtek_at_mtekusa.com wrote:
> Hello Everyone,
>
> We are running Oracle 8.1.7. I have a package procedure which has
> some OUT parameters. The procedure however is not working. After a
> very detailed investigation, bringing the procedure through a
> debugger, I found the problem.
>
> One of the parameters that is being passed back to the calling
> application, which is a PHP script, is more than 1000 characters
> long. The OUT parameter is defined as a VARCHAR2. However, only 200
> characters are being returned. When I move my mouse over that
> variable in the debugger, it shows VARCHAR2(200).
>
> I was under the impression that the limitation of the OUT parameter
> was somewhere in the 32,000 range.
>

No - that would be internal to Oracle - passing varchars to other packaged procedures.
To external interfaces, it is 4000 characters (more precise: 4000 byte - multi byte characters may bite you!)

> Does anyone know why it would limit to 200 characters? It is very
> frustrating.
>

there is an option to define those before you start the debugging process.

In an other response, you claim: "When the variable p_save_head basically reaches 1000 characters, it says "<Value too Large>".

what does OCIBindByName($stmt, ':p_str',&$p_str, 1024); and OCIBindByName($stmt, ':p_save_out',&$p_save_out, 1024); do?

Are you sure it reaches 1000 characters, not 1024? Are you sure it is characters, not bytes (1000 char may be > 1024 byte)?

-- 
Regards,
Frank van Bortel

Top-posting is one way to shut me up...
Received on Tue Nov 06 2007 - 15:10:03 CST

Original text of this message

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