Polybase Decimal point issue with ODBC

Copper Contributor

I'm using SQL 2019 Polybase to connect to Progress OpenEdge Server using an ODBC (Progress OpenEdge 12.2 ODBC Driver).

CREATE EXTERNAL DATA SOURCE Test_1

WITH ( LOCATION = 'ODBC://z.z.z.z:9901',

CONNECTION_OPTIONS = 'DSN=MyR4KReport',

CREDENTIAL = Test1);

 

If instead of numeric(17,2) in polybase table definition I change it to numeric the SELECT query works OK but the retrieved decimal values are wrong: Original data in source Progress is a number like 357.70 but i get something like 3577 instead. And if I use numeric(17,2) then I am getting 35.77. But I never get the actual values 357.70.

I know the Progress ODBC Driver is not the problem because when I pull data using SSIS it works perfectly fine.

3 Replies
Hi,

I am having the exact same issue.
Works fine over a linked server querying the table directly but using Polybase over the linked server the numeric precsions get messed up unless the last decimal place ends in a number other than zero.

So 38.80 would return 3.80 but 38.88 returns correctly

Did you manage to resolve this issue?

@spniken0612 

Did you ever manage to solve this issue. We have just encountered the same problem

Did you ever manage to resolve your issue. We are have just encountered the same problem