Icon View Incident Report

Serious Serious
Reported By: Accowin [LBRP]
Reported On: 10/12/2016
For: Version 2.24 Build 3
# 4436 ElevateDB ODBC Driver Not Handling Decimal Values Properly

Our database uses elevate DB 32 bit version 2.14 build 5 and is an ANSI database.

If we make connection to the database using a 64 bit ODBC driver we get wrong values back (a value 0 is returned as 256.00, a value 1500 is returned as 1240465664.00) when we query a column of type decimal(2). Float columns are correct.

We tried this with the 32 bit ODBC driver of version 2.14 b5 and this was working correct. If we used the 64 bit ODBC driver of version 2.14 b5 we got wrong values.

We tried now the 32 bit and 64 bit driver of de ODBC driver of the latest version 2.24 b3 and both have a problem that we get wrong values back of a decimal column.

- Register ODBC driver
- Use elevateDB ANSI database
- Create ODBC system DSN for an elevatedb database
- Use SQL server
- Add a linked server:
   - Name: BELCO
   - Provider: Microsoft OLE DB Provider for ODBC drivers
   - Data source: <ODBC system DSN name>
- Run query in SQL server
   select * from openquery(BELCO, 'SELECT <decimal(2) column name> From Table')
- You will see that the value of the decimal column is wrong.



Comments Comments
The reason for the spurious nature of the error is that it was triggered by the layout of a particular record structure in memory.


Resolution Resolution
Fixed Problem on 1/13/2017 in version 2.25 build 1


Products Affected Products Affected
ElevateDB DAC Client-Server
ElevateDB DAC Client-Server with Source
ElevateDB DAC Standard
ElevateDB DAC Standard with Source
ElevateDB DAC Trial

Image