Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r0OxV-005RAh-V5 for pgsql-odbc@arkaria.postgresql.org; Tue, 07 Nov 2023 16:29:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1r0OxU-009uyK-IB for pgsql-odbc@arkaria.postgresql.org; Tue, 07 Nov 2023 16:29:44 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r0OxT-009uvB-Ii for pgsql-odbc@lists.postgresql.org; Tue, 07 Nov 2023 16:29:44 +0000 Received: from mail-me3aus01on2048.outbound.protection.outlook.com ([40.107.108.48] helo=AUS01-ME3-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1r0OxL-005Cis-3E for pgsql-odbc@lists.postgresql.org; Tue, 07 Nov 2023 16:29:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iX5YIayYtO3nUKI5Kgn3i8BFiulmKjl4iregPopkHY/INiwIpaLIziGmzcnIP6R2xCNWHsiKplfTEiWPJ6Pavb3pBWgyUAZ8pKNo5pj1kuyHyJ34aYA/OJxIT7warHsuZFkD86qqcCDkoX28T49u/c6oOA6zXedbEt3bQsIw42E3SL2u+G8kemqVHvP6C/fyekMw2iiqKGbj8pheFAKR64Qt1FE4ZexhEH14HeN8C486EWl8vHh724qoJFYt5c0KatIzkKO/W25jBDXh/IBiVmd+zjgVXyb4Nja7V0kJlmrhdQvZmPyNnyDho5cGEEd3smQydIleKV8wElnV6CghLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=C96IO3TjJLvDSE89U+0py3YKHN9VS/uaDcZIE/Tey+I=; b=ANoNNqkXHJ+KrW9+f9vagE2EPxG0ePER70q5AHiv3w8TV2h9rNYyJAvb1JOVy5d2Vuq9dPQ3Uxw/X1PkFTpS3XtNmb9djxLsVQtpBQHWI+FIT/P83xER5fFbG7uLut6gtphrc6qSm+F62aXGB4OqOE+M7tjrGdM8VlVg0mH7k7PbgUeS0qkezY3Z72SGylftiOJfHkSux51S6C5uVe7ofzeXOXZUiWO+z/3i2mZP7G+n+1aMOuTL0HmdZHgj31aXoeMKKFcT5qu8R14yLTXCGIxF5W6s4jQt2axowP/JWxbHF4rx1c/CF6J137Qepy8jQT5nT/ga8jhXAimXnsdB9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 20.92.116.22) smtp.rcpttodomain=lists.postgresql.org smtp.mailfrom=pentanasolutions.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=pentanasolutions.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pentanasolutions.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=C96IO3TjJLvDSE89U+0py3YKHN9VS/uaDcZIE/Tey+I=; b=d48e6SlcSJVi22s4DrJ1k4JecEUKBZ23BFMGRFQW+nw1sAMBX9gaA13Xb2bjUPN/4z2usz7SMGZLYZf2NCrjpQ7+qNDCIb6Az9CNvP4jWmOFN0tAN45pp1EzfythtHF0vpbhitg3PE42ebtzaSH8PAvP151i1OmoogiOr40jKm4= Received: from SY6PR01CA0120.ausprd01.prod.outlook.com (2603:10c6:10:1b8::20) by SY4P282MB1324.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Tue, 7 Nov 2023 16:29:25 +0000 Received: from SY4AUS01FT016.eop-AUS01.prod.protection.outlook.com (2603:10c6:10:1b8:cafe::73) by SY6PR01CA0120.outlook.office365.com (2603:10c6:10:1b8::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18 via Frontend Transport; Tue, 7 Nov 2023 16:29:25 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 20.92.116.22) smtp.mailfrom=pentanasolutions.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=pentanasolutions.com; Received-SPF: Pass (protection.outlook.com: domain of pentanasolutions.com designates 20.92.116.22 as permitted sender) receiver=protection.outlook.com; client-ip=20.92.116.22; helo=au3-emailsignatures-cloud.codetwo.com; pr=C Received: from au3-emailsignatures-cloud.codetwo.com (20.92.116.22) by SY4AUS01FT016.mail.protection.outlook.com (10.114.156.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17 via Frontend Transport; Tue, 7 Nov 2023 16:29:24 +0000 Received: from AUS01-SY4-obe.outbound.protection.outlook.com (104.47.71.169) by au3-emailsignatures-cloud.codetwo.com with CodeTwo SMTP Server (TLS12) via SMTP; Tue, 07 Nov 2023 16:29:20 +0000 Received: from SY4P282MB4100.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:1cf::7) by SY8P282MB4480.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:258::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.25; Tue, 7 Nov 2023 16:29:19 +0000 Received: from SY4P282MB4100.AUSP282.PROD.OUTLOOK.COM ([fe80::cae0:a7a:5d17:f7d0]) by SY4P282MB4100.AUSP282.PROD.OUTLOOK.COM ([fe80::cae0:a7a:5d17:f7d0%4]) with mapi id 15.20.6954.025; Tue, 7 Nov 2023 16:29:19 +0000 From: Mauro Gatti To: "pgsql-odbc@lists.postgresql.org" Subject: ODBC problem with decimal separator Thread-Topic: ODBC problem with decimal separator Thread-Index: AdoRkb0nR794xBICTKyS5Nqygiat7w== Date: Tue, 7 Nov 2023 16:29:19 +0000 Message-ID: Accept-Language: it-IT, en-US Content-Language: it-IT X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=pentanasolutions.com; x-ms-traffictypediagnostic: SY4P282MB4100:EE_|SY8P282MB4480:EE_|SY4AUS01FT016:EE_|SY4P282MB1324:EE_ X-MS-Office365-Filtering-Correlation-Id: bfaf16a1-23eb-4fcb-4bab-08dbdfaeb44f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: x1gHIblAfO2GNrYg8gG/ryfUVdovOgkJFI0Pz9+D/Hn3oiwpLWBiaicTWfIOo7aU35S4xo/Y2UnfwMjsQ7pu6eKxOslzEwhqwKs4UXwNVUMgq+wnubVKloHZoIa8K457s6gTYmQ1Pq8T25fAq4CA8Iy4NwU0+XD7b4SMDZSe+4aF5BARz6MVClyU3GvBdU7H4KCirmTUJ2QMy/V26TbEB7Nuqp2LnyvpunrF3oHtfqN2zP9VVn29kATCH11s5OEv5GXHMhHrb+TxSNxkAmnWTyxhLzzYZF9XQXU4VsByUhiO5+w11XVqz3vjyN4WVHVMsev9FJStmf1+oyjsmmcawbQTk3V1jIsbWO/RaU0UzhfK8xEaVfxJIPLSReCkw6XUQeqwTSXsYZOAABB/xflZc8hV5WbhYrzIonua0qicY7RidVzwMRlc/d4sOkg0lrCSndn3oYFwH5s2UDpY8S5ED0bEf8WRkp4aWJp7MZU+ZF8zi6pvhLwKzlDkGqV7+nbDNzsee/QeVuGE3alecoyAptQiYqiFG+W/0MQPQKuknjNKsn/fu1zoNgzUWLcLh+9LJ+2qLg5UtQMWTdlozpRx+4Q6Ma+JMO980MwVSfqDCTybToNwZcLYH9bUm+6SQQJD X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SY4P282MB4100.AUSP282.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(366004)(39860400002)(376002)(136003)(230922051799003)(186009)(64100799003)(1800799009)(451199024)(19627235002)(52536014)(478600001)(66946007)(66556008)(8936002)(76116006)(33656002)(8676002)(38100700002)(66476007)(122000001)(9686003)(38070700009)(41300700001)(7696005)(6506007)(71200400001)(55016003)(86362001)(5660300002)(6916009)(316002)(2906002)(66446008)(83380400001)(64756008)(66574015);DIR:OUT;SFP:1101; Content-Type: multipart/alternative; boundary="_000_SY4P282MB4100D636EAD9190147DE26D69BA9ASY4P282MB4100AUSP_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SY8P282MB4480 X-CodeTwo-MessageID: 139057cc-04aa-43e9-851c-34d5da23656c.20231107162920@au3-emailsignatures-cloud.codetwo.com X-CodeTwoProcessed: true References: <6ff024fb-be42-47c0-9775-167138e0aafe.cef1fce4-6213-4fe1-bb7b-12047562feeb.04c0497f-f2ad-4295-a9f9-d2efa170767b@emailsignatures365.codetwo.com> <6ff024fb-be42-47c0-9775-167138e0aafe.6a78f935-0a1b-4243-9298-6040f93ff6ac.c3b2a680-cf60-41fd-bf35-606ad994d6d7@emailsignatures365.codetwo.com> X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: SY4AUS01FT016.eop-AUS01.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 6115a90e-4357-44ab-5a75-08dbdfaeb143 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A8xhm9wCCCexgDwVTr8A1nMCMWkgZAwIYmaEP/mXprMKepBB+KP/ha5nHEo2i8VHidBwOe27fBXrg6mVr+mus3TRSegD9KquaPXn9ODJZauViZ0wOUhioL6hTCF5KC01ODdUPl1tks0/owa9yIZ/xmzrBr2FI0BS4WS79tFUTAsaZ1kAxVQbWGv1APDsTUxDDP3stkp0jRPg0KzvaCy4oqQlTX15j2JMnM4lrPjCEpT0pj6vUNyCl4yKl/tC7aeWN7rDDvv6NWnilv/MC7k/qAVbi9wMQ/y+Q4LU4n9rIqUJrVS3E4fBTfm+yg8zSviQlJZPW61k8Gm/gQ3ltY+7RtGwO4bmfaUWql78Dlxs/7nR9U6OkR8Q5p7J0m6WOsQgD67uxrZCOiA33iRCSlfXZFIAl/7/9R2jfBF3SznOYqr07CvUVhQElAXbtDHN+IGKR71nmqjyt+CVbTEYdHMHimSmu8XkD+jXzy3+2xqD2/XUp16fMCXF4OkTcPcRaCLujzKyttniH1FbCdOjGB3Ea4gyQEQ5eVzIdQXVGjjwTn+Es4wt8rbttwjn0TDQB6ymbzRztOg4ZtMWK4jdMO96k0topzea7iCwwVCczo71g6LyTCoRvHLF4fyMy/5SWUHBmOnKK66wusgi7oJzNkAwvd8+wl7nOyaE158PYtvq0c10IIJiTifoameWs5YoDgoUXcHOC8SU9/+gAyMO1ha0llCx3R1jOJ1Bj26xiZoSoUSlAd7MdsliQKRIXZb8I2nODCH5xgpLIeI8ODSsVCvFvsAzlVriLLZy+TMjIx/xH37ljA7Nib+R9yAGxPLW0I4H X-Forefront-Antispam-Report: CIP:20.92.116.22;CTRY:AU;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:au3-emailsignatures-cloud.codetwo.com;PTR:au3-emailsignatures-cloud.codetwo.com;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(136003)(376002)(230922051799003)(186009)(82310400011)(64100799003)(1690799017)(1800799009)(451199024)(7200799017)(46966006)(36840700001)(40470700004)(2906002)(36860700001)(15974865002)(33656002)(41300700001)(316002)(6916009)(70206006)(478600001)(8936002)(8676002)(55016003)(70586007)(52536014)(47076005)(7636003)(7596003)(19627235002)(166002)(40480700001)(86362001)(5660300002)(8400799017)(356005)(83380400001)(336012)(45080400002)(40460700003)(66574015)(7696005)(82740400003)(6506007)(26005)(9686003)(15519875007);DIR:OUT;SFP:1101; X-OriginatorOrg: pentanasolutions.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 16:29:24.5456 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bfaf16a1-23eb-4fcb-4bab-08dbdfaeb44f X-MS-Exchange-CrossTenant-Id: f9f666f9-1f5e-40b8-9bc7-c7f33fca1aa1 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f9f666f9-1f5e-40b8-9bc7-c7f33fca1aa1;Ip=[20.92.116.22];Helo=[au3-emailsignatures-cloud.codetwo.com] X-MS-Exchange-CrossTenant-AuthSource: SY4AUS01FT016.eop-AUS01.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SY4P282MB1324 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_000_SY4P282MB4100D636EAD9190147DE26D69BA9ASY4P282MB4100AUSP_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello, we are upgrading psqlODBC from version 9 to 15 following the upgrade of the= postgres database from version 11 to 15. The application using psqlODBC is an old legacy application written in .NET= Framework and we are facing a problem with the decimal separator. The application is expecting the separator to be . (dot) and everything is = working well, even if the OS locale have , (comma) as separator. The applic= ation then needs to open a browser to visualize a PDF file and from that mo= ment on every numeric value returned from the ODBC driver will have comma a= s decimal separator which is misinterpreted from the application, showing m= angled results. My guess is that the Adobe library used to open the PDF is calling setlocal= e() to set the decimal separator equal to the OS locale (comma) and this is= in turn propagated to the ODBC driver. Before the invocation, the decimal = separator is undefined and set to the default locale (dot). Does anyone know if there's a way to instruct the driver to not apply the l= ocale setting or have experienced something similar? Regards, Mauro Gatti .NET Developer [https://i.imgur.com/5wrpArH.png] +39 0 226950535 [https://i.imgur.com/yPFaGzr.png] Mauro.Gatti@pentanasolutions.com [https://i.imgur.com/kBUNJAE.png] www.esseitalia.it [https://i.imgur.com/Bfr2vBy.png] = [https://i.imgur.com/OZ1IEP1.png] [https://i.imgur.com/zbbA2rr.png] [https://i.imgur.com/jT6psLE.png] Contact Us Sede legale: Viale Andrea Doria, 7 - 20124 Milano (MI) - Italy Sede Operativa: Via Giovanni Antonio Amadeo 59 - 20134 Milano - Italy P.I. Milano, 09051640150 - C.C.I.A.A. 1266371 C.S. EUR 101.000,00 int. versato Pentana Solutions accepts no liability for the content of this email, or fo= r the consequences of any actions taken on the basis of the information pro= vided, unless that information is subsequently confirmed in writing. If yo= u are not the intended recipient, you are notified that disclosing, copying= , distributing or taking any action in reliance on the contents of this inf= ormation is strictly prohibited. Esseitalia is a Pentana Solutions company. --_000_SY4P282MB4100D636EAD9190147DE26D69BA9ASY4P282MB4100AUSP_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hello,

 

we are upgrading psqlODBC from = version 9 to 15 following the upgrade of the postgres database from version= 11 to 15.

 

The application using psqlODBC = is an old legacy application written in .NET Framework and we are facing a = problem with the decimal separator.

 

The application is expecting th= e separator to be . (dot) and everything is working well, even if the OS lo= cale have , (comma) as separator. The application then needs to open a brow= ser to visualize a PDF file and from that moment on every numeric value returned from the ODBC driver will have= comma as decimal separator which is misinterpreted from the application, s= howing mangled results.

 

My guess is that the Adobe libr= ary used to open the PDF is calling setlocale() to set the decimal separato= r equal to the OS locale (comma) and this is in turn propagated to the ODBC= driver. Before the invocation, the decimal separator is undefined and set to the default locale (dot).

 

Does anyone know if there’= ;s a way to instruct the driver to not apply the locale setting or have exp= erienced something similar?

 

Regards,

 

 

=0A= =0A=

=0A= =0A= =0A= =0A= =0A= =0A= =0A= =0A=
=0A= =0A= =0A= =0A= =0A= =0A= =0A= =0A=
=0A=

Mauro Gatti <= /span> 

=0A=

.NET Developer

=0A=
 =0A=
=0A= =0A= =0A= =0A= =0A= =0A= =0A= =0A=
=0A= =0A= =0A= =0A= =0A=
=0A=
  
=0A=
=0A=

+39 0 22695053= 5  =0A=  

=0A= =0A= =0A= =0A= =0A=
=0A= =0A=
  
=0A=
Mauro.Gatti@pentanasolutions= .com
=0A= =0A= =0A= =0A= =0A=
=0A=
  
=0A=
www.es= seitalia.it =0A=
=0A= =0A= =0A=
 
=0A= =0A= =0A= =0A= =0A=
=0A= =0A= =0A= =0A= =0A= =0A= =0A= =0A= =0A=
=0A=
 
3D"youtube" =0A= =0A=
 
3D"linkedin" =0A= =0A=
 
=0A=
=0A=

=0A= =0A=

 

=0A=

Sede =0A= legale: Viale Andrea Doria, 7 - 20124 Milano (MI) – Italy

=0A=

Sede =0A= Operativa: Via Giovanni Antonio Amadeo 59 - 20134 Milano - Italy

= =0A=

P.I. =0A= Milano, 09051640150 – C.C.I.A.A. 1266371

=0A=

C.S. =0A= € 101.000,00 int. versato

=0A=

Pentana =0A= Solutions accepts no liability for the content of this email, or for t= he =0A= consequences of any actions taken on the basis of the information prov= ided, =0A= unless that information is subsequently confirmed in  writing. If you = are =0A= not the intended recipient, you are notified that disclosing, copying,= =0A= distributing or taking any action in reliance on the contents of this = =0A= information is strictly prohibited. Esseitalia is a Pentana Solutions =0A= company.

=0A=

=0A=

 

--_000_SY4P282MB4100D636EAD9190147DE26D69BA9ASY4P282MB4100AUSP_--