1. Roman Paciorek
  2. PowerBuilder
  3. Sunday, 20 October 2024 13:28 PM UTC

Hello to all users of this forum.
I would like to ask you if any of you have encountered a problem similar to mine?
I use three versions of PowerBuilder in my work: 11.5, 19 R3 and 22 R3
The problem occurs only in version 22 and consists in the fact that the values ​​of "numeric" fields read from the PostgreSQL database are incorrect!
For example, if the number is saved with an accuracy of 2 digits after the decimal point, the read value is 100 times greater (see the attached file).

It does not depend on the version of the database server but on the versions of the ODBC drivers used to connect to the database.
I tested this behavior on various versions of PostgreSQL servers (9.x. 12.x, 13.x) and ODBC drivers (8.4, 12.02, 13.00, 15.00)
The problem does not occur only on Postgres 8.4 drivers but I cannot use them because, firstly, it is an archaic version and secondly, the last version of the server to which you can connect using these drivers is version 12.x

This problem is related to regional settings at the operating system level.
For Polish regional settings, the decimal separator is a comma. After changing it to a dot, this problem disappeared but unfortunately such a solution is not an option :-)

Do you have any knowledge about what has changed in this PB 22 that it stopped working correctly with Postgres ODBC new drivers?
I have been using PowerBuilder for over 20 years and I have never had such problems before...

Attachments (1)
Sivaprakash BKR Accepted Answer Pending Moderation
  1. Monday, 21 October 2024 06:23 AM UTC
  2. PowerBuilder
  3. # 1

I suspect it as a bug.  Can you report it @

https://www.appeon.com/standardsupport

Happiness Always
BKR Sivaprakash

 

Comment
  1. Roman Paciorek
  2. Monday, 21 October 2024 10:47 AM UTC
Thank you for your answer! Yes, now I'm also sure that it bug in PB 22 and I will report it.

Finally I managed to find an alternative solution to this problem but it shouldn't be like this.

Changing the default transaction object parameter setting helps: SQLCA.DBParm="DecimalSeparator=','"

Maybe this information will be useful to someone in the future...

Best regards
  1. Helpful
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Sunday, 20 October 2024 23:36 PM UTC
  2. PowerBuilder
  3. # 2

I don't remember which post I read yesterday, but I heard the recommended driver to use with PosgresQl is the OLEDB one.

 

Comment
  1. Roman Paciorek
  2. Monday, 21 October 2024 10:49 AM UTC
Thanks for your answer. I have no experience with OLEDB, but maybe it will inspire me to learn something new... ;-)

Best regards
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.
We use cookies which are necessary for the proper functioning of our websites. We also use cookies to analyze our traffic, improve your experience and provide social media features. If you continue to use this site, you consent to our use of cookies.