Forum Discussion

spniken0612's avatar
spniken0612
Copper Contributor
Sep 15, 2020

Polybase Decimal point issue with ODBC

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.

  • dazcuk46's avatar
    dazcuk46
    Copper Contributor
    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?
    • SvenO275's avatar
      SvenO275
      Copper Contributor
      Did you ever manage to resolve your issue. We are have just encountered the same problem

Resources