Re: [cx-oracle-users] OCI-22054 error using cx_Oracle
Brought to you by:
atuining
From: Anthony T. <ant...@gm...> - 2005-09-24 16:44:43
|
The reason this is happening is because you are doing the following: a) calling a procedure with out parameters that specify number b) passing in numbers which are integers Of course, Oracle is trying to return a floating point number at this point and is failing on converting the number back to an integer...... If you change all of your =3D 0 to =3D 0.0 the problem goes away. On 9/22/05, Molina, Gerardo <Ger...@sc...> wrote: > > > I'm getting the following error: > > Traceback (most recent call last): > File "./pydbconn.py", line 113, in ? > (bid, eid, > cx_Oracle.DatabaseError: OCI-22054: underflow error > > Google didn't turn up much on this error. > > Any help would be greatly appreciated. > > TIA, > Gerardo > > > Here is program listing: > > #!/usr/bin/env python > > # pydbconn > > # test sql connect > > import cx_Oracle > > user =3D 'perfstat' > pword =3D 'itsnotthis' > dbstring =3D 'TESTDB' > > connection =3D cx_Oracle.connect(user,pword,dbstring) > > bid =3D 11 > eid =3D 12 > dbid =3D 4275102739 > inst_num =3D 1 > para =3D 'NO' > > lhtr =3D 0 > bfwt =3D 0 > tran =3D 0 > chng =3D 0 > ucal =3D 0 > urol =3D 0 > rsiz =3D 0 > phyr =3D 0 > phyrd =3D 0 > phyrdl =3D 0 > phyw =3D 0 > ucom =3D 0 > prse =3D 0 > hprs =3D 0 > recr =3D 0 > gets =3D 0 > rlsr =3D 0 > rent =3D 0 > srtm =3D 0 > srtd =3D 0 > srtr =3D 0 > strn =3D 0 > lhr =3D 0 > #bc =3D '' > sp =3D '' > lb =3D '' > bs =3D '' > twt =3D 0 > logc =3D 0 > prscpu =3D 0 > tcpu =3D 0 > exe =3D 0 > prsela =3D 0 > bspm =3D 0 > espm =3D 0 > bfrm =3D 0 > efrm =3D 0 > blog =3D 0 > elog =3D 0 > bocur =3D 0 > eocur =3D 0 > dmsd =3D 0 > dmfc =3D 0 > dmsi =3D 0 > pmrv =3D 0 > pmpt =3D 0 > npmrv =3D 0 > npmpt =3D 0 > dbfr =3D 0 > dpms =3D 0 > dnpms =3D 0 > glsg =3D 0 > glag =3D 0 > glgt =3D 0 > glsc =3D 0 > glac =3D 0 > glct =3D 0 > glrl =3D 0 > gcdfr =3D 0 > gcge =3D 0 > gcgt =3D 0 > gccv =3D 0 > gcct =3D 0 > gccrrv =3D 0 > gccrrt =3D 0 > gccurv =3D 0 > gccurt =3D 0 > gccrsv =3D 0 > gccrbt =3D 0 > gccrft =3D 0 > gccrst =3D 0 > gccusv =3D 0 > gccupt =3D 0 > gccuft =3D 0 > gccust =3D 0 > msgsq =3D 0 > msgsqt =3D 0 > msgsqk =3D 0 > msgsqtk =3D 0 > msgrq =3D 0 > msgrqt =3D 0 > > # Call proc statspack.stat_changes > > cursor2 =3D connection.cursor() > > outbcVar =3D cursor2.var(cx_Oracle.STRING) > outspVar =3D cursor2.var(cx_Oracle.STRING) > outlbVar =3D cursor2.var(cx_Oracle.STRING) > outbsVar =3D cursor2.var(cx_Oracle.STRING) > > cursor2.callproc('statspack.stat_changes', > (bid, eid, > dbid, inst_num, > para, > lhtr, bfwt, > tran, chng, > ucal, urol, > rsiz, > phyr, phyrd, > phyrdl, > phyw, ucom, > prse, hprs, > recr, gets, > rlsr, rent, > srtm, srtd, > srtr, strn, > lhr, outbcVar, > outspVar, outlbVar, > outbsVar, twt, > logc, prscpu, > tcpu, exe, > prsela, > bspm, espm, > bfrm, efrm, > blog, elog, > bocur, eocur, > dmsd, dmfc, > dmsi, > pmrv, pmpt, > npmrv, npmpt, > dbfr, > dpms, dnpms, > glsg, glag, > glgt, glsc, > glac, glct, > glrl, gcdfr, > gcge, gcgt, > gccv, gcct, > gccrrv, gccrrt, gccurv, gccurt, > gccrsv, > gccrbt, gccrft, > gccrst, gccusv, > gccupt, gccuft, > gccust, > msgsq, msgsqt, > msgsqk, msgsqtk, > msgrq, msgrqt )) |