Dynamic Invocation of PLSQL Program with VARCHAR2 Parameter Length > 8K in Unicode DB Raises ORA-06502
(Doc ID 2822434.1)
Last updated on APRIL 17, 2023
Applies to:
PL/SQL - Version 12.2.0.1 and laterInformation in this document applies to any platform.
Symptoms
Dynamic invocation of PLSQL Procedure/Function with VARCHAR2 parameter(length > 8191) raises "ORA-06502: PL/SQL: numeric or value error: character string buffer too small" in an Unicode DB(each character consumes upto 4 bytes) where NLS_LENGTH_SEMANTICS is set to 'CHAR'. Static invocation of the same PLSQL program works fine.
The behavior can be demonstrated using the following sample code.
The error is not observed when the procedure is invoked statically or the parameter is passed by reference(i.e. using NOCOPY option).
Changes
It's a newly installed database. No specific change was done.
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Changes |
Cause |
Solution |
References |