cx_Oracle issues

huw_at1 huwdjones at gmail.com
Mon Dec 15 04:44:06 EST 2008


On Dec 11, 5:34 pm, "ron.re... at gmail.com" <ron.re... at gmail.com> wrote:
> 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

Hi thanks for the responses. Unfortunately the procedure in question
is from a third party vendor so I can't really debug it so I'd say I
was fairly stumped. Just out of interest how do you increase the
output buffer size with cx_Oracle?

Many thanks



More information about the Python-list mailing list