Expecting Integer Actual Float??

Roeland

Member³
Hi,

We recently have a customer who upgraded his datatbase to Oracle 10.2.

Now we are encountering problems like 'Expecting Integer actual Float' on some queries. I know we could just cast everything to Float, but that's a very huge work.

So I wanted to investigate the source of the problem: I made a little program who connect to 3 instances of oracle with a OracleQuery AND a OracleDataSet.

SQL = 'select cast(null as number(8)) Test from dual'

Then I asked the following properties from the OracleQuery and the OracleDataSet

Code:
Oracle version:  9.2    10.1    10.2
OracleQuery:
FieldScale        0       0       0
FieldPrecision    0       8       0
FieldSize         0       0       0
FieldType       Word   Integer  Word

OracleDataSet:
FieldType       Float  Integer  Float
When I changed the SQL into
SQL = 'select cast(null as number(8,2)) Test from dual'

Result

Code:
Oracle version:  9.2    10.1    10.2
OracleQuery:
FieldScale        0       2       0
FieldPrecision    0       8       0
FieldSize         0       0       0
FieldType       Word    Word    Word

OracleDataSet:
FieldType       Float   Float   Float
Why is the FieldPrecision and FieldScale 0 for 10.2 and 9.2? Is this an Oracle issue?
 
It seems like an Oracle issue. The scale and precision are reported differently on different versions, which leads to different dataset field types.
 
Back
Top