cx_Oracle issues

ron.reidy at gmail.com ron.reidy at gmail.com
Thu Dec 11 12:34:34 EST 2008


On Dec 10, 9:48 am, huw_at1 <huwdjo... at gmail.com> wrote:
> Hey all. When using cx_Oracle to run a procedure like:
>
> cursor.execute("select (obj.function(value)) from table where
> id=blah")
>
> I am getting the following error:
>
> ORA-06502: PL/SQL: numeric or value error: character string buffer too
> small ORA-06512: at line 1
>
> Looking at cursor.description I get:
>
> [('(obj.function(value))', <type 'cx_Oracle.STRING'>, 4000, 4000, 0,
> 0, 1)]
>
> Any tips - i have never seen this error before but am guessing that
> the value being returned is too big for the buffer size set for the
> cursor. the procedure fetches data from a LOB.
>
> Any suggestions/confirmations?
>
> Many thanks

This error is a problem with the PL/SQL, not cx_Oracle.  You need to
debug obj.function to see what kind of data is being accessed and then
a data analysis of that data to understand why this error occurs.  I
can tell you the function is most likely expecting characters from a
column that are numeric [0 .. 9] and is getting alpha characters.

--
Ron Reidy
Sr. Oracle DBA



More information about the Python-list mailing list