Differences in info while consulting a SYBASE database table


I am getting a very particular error when consulting a Sybase Database.

I connect to a Sybase server and database via ODBC, and with a query I can get info from one of the tables. The table is a transactional with sales info where the sign of the information matters a lot (a positive number indicates a sale while a negative can indicate a returned item or a discount).

I realized there was an issue because the numbers weren´t adding up to what they should, and I found that some numbers were changed. The changes I could detect are happening in negative numbers between 0 and -1.0, all those are changed to positive numbers. So in the info i get i have all kinds of negative numbers, then I don´t have numbers between -1 and 0, and then I have all kinds of positive numbers, including numbers form 0 to 1 (according to another extraction I made to the same table -outisde of easymorph-some of them should negative and some positive) and larger than 1.

I don´t know if the issue is happening inside of easymorph or if the table has a problem. Has anything like this happened to anybody else? The issue is happening in such a peculiar way and in such small numbers that it feels really weird and the differences I get are not very significant, but there are clearly some differences whaen I use Easymorph as an extractor.

I would very much like to solve this issue since using easymorph as an extractor for this tables would be a great help for me, but I don´t know if I can rely on the info I am getting.


Hi Sebastian,

does the problem persist if you query this table via the ODBC connection in some other (64-bit) application? It is important that the other application uses the same ODBC DSN, and not a native driver. And it should be a 64-bit ODBC connection, not 32-bit.

I want to make sure that it’s not a problem with the 64-bit Sybase ODBC driver itself.

Also, what’s the exact data type (e.g. REAL) of the database field that contains small negative numbers?

Hi Dmitry

The other extraction I have made is with an application using a native driver, I wil try making one extraction with the same ODBC DSN, and see if the problem persists.

Also I don´t know the data type. I will investigate this and get back to you.

Thanks !!

Looks that the changing of info is in the driver i am using for the ODBC DSN.

I used the same ODBC DSN using microsoft access, and again, I obtain no values between -1 and 0.

Then using a DBeaver and its native connector to sybase, I can see many numbers between -1 and 0. In DBeaver the data type appears as “money”.

I would suggest opening a support ticket with Sybase about this behavior of their ODBC driver.

Just to confirm, the issue was on the driver´s part and not in easymorph. Thanks for your help!

You’re welcome! Thanks for the update.