[ZOPE] DCOracle2 and Oi9 RC2, wrong number values in select

Dieter Fischer dieter.fischer@grid-it.ch
Wed, 2 Oct 2002 19:07:34 +0200


Hello

I'm using DCOracle2 with a Oracle9i RC2 database. I was a bit shocked when I
tried to retrive some data from my db. Alle number right to the decimal
point are lost!

So I played a bit with the different datatypes. I stored in each column a
value off 100.50. So Oracle rounded the integers to 101, which is fine. But
as you can see in the following table, the other results are wrong.
What works is a:

SELECT TO_CHAR(column_name) from table.

The funny thing is also, that storing the data with a "ZSQL Method" works
fine...

Column Name    Column Type    Zope     Oracle

INTEGER_       INTEGER,       101.00   101.00
NUMBER_10_1    NUMBER(10,1)   100.00   100.50
NUMBER_10_2    NUMBER(10,2)   100.00   100.50
NUMBER_10_5    NUMBER(10,5)   100.00   100.50
DECIMAL_10_0   NUMBER(10)     101.00   101.00
DECIMAL_10_1   NUMBER(10,1)   100.00   100.50
DECIMAL_10_2   NUMBER(10,2)   100.00   100.50
DECIMAL_10_5   NUMBER(10,5)   100.00   100.50
REAL_          FLOAT(63)      100.00   100.50
SMALLINT_      INTEGER        101.00   101.00
FLOAT_         FLOAT(10)      100.00   100.50

Any ideas about that behavior?

Regards

Dieter