[Zope] ZOracleDA and long numbers

TFE MMS JARVIS JOHN jarvis.sd082@ex.tel.co.jp
Tue, 23 Mar 1999 12:44:35 +0900


Hi all!

I'm having a problem with running queries containing long numbers.
I found in db.py that the data type NUMBER is converted to an
integer which overflows in my case.

The errors:

Error, oci.error: (1455, 'ORA-01455: converting column overflows integer
datatype\012')
   
Traceback (innermost last):
  File /usr/lib/python1.5/ZPublisher/Publish.py, line 877, in publish_module
  File /usr/lib/python1.5/ZPublisher/Publish.py, line 590, in publish
    (Info: /queries/wisdom/customer-Line/manage_test)
  File /usr/lib/python1.5/Shared/DC/ZRDB/DA.py, line 305, in manage_test
    (Object: CopySource)
  File /usr/lib/python1.5/Shared/DC/ZRDB/DA.py, line 286, in manage_test
    (Object: CopySource)
  File /usr/lib/python1.5/Shared/DC/ZRDB/DA.py, line 390, in __call__
    (Object: CopySource)
  File db.py, line 198, in query
  File /usr/lib/python1.5/Products/ZOracleDA/DCOracle/ociCurs.py, line 317,
in fetchmany
  File /usr/lib/python1.5/Products/ZOracleDA/DCOracle/ociCurs.py, line 279,
in fetchone
  File /usr/lib/python1.5/Products/ZOracleDA/DCOracle/ociCurs.py, line 75,
in _error
oci.error: (see above)

I tried changing line 219 in query() in db.py:
from
                if scale==0: type='i'
to
                if scale==0: type='f'

in order to force a float type, but this has no effect, it seems.

I'm sure that I'm misunderstanding something here.
Any pointers to where I can look to fix this would be greatly
appreciated.

TIA,
John Jarvis
Tokyo Electron FE, Ltd.