Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nW28i-0004Ll-4R for pgsql-odbc@arkaria.postgresql.org; Sun, 20 Mar 2022 20:27:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nW28g-0008Kw-PU for pgsql-odbc@arkaria.postgresql.org; Sun, 20 Mar 2022 20:26:58 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nW28f-0008Kh-Vp for pgsql-odbc@lists.postgresql.org; Sun, 20 Mar 2022 20:26:58 +0000 Received: from sonic318-20.consmr.mail.ne1.yahoo.com ([66.163.186.82]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1nW28Y-0003Vf-VO for pgsql-odbc@lists.postgresql.org; Sun, 20 Mar 2022 20:26:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1647808008; bh=1uTWk6XBZtPdp9QOi7/oz7lbTns/oTJwsZHH0dbjHrw=; h=Date:From:To:Subject:References:From:Subject:Reply-To; b=b532yp6ZiD5Wr9xDHy0OXmX8COnIN9EtV9WThFVD39qsOxGQsp7dkSiK48ggE3tW6ekfqnT7m0bo+eDsIxk4wPHgrxaP6RLyAslZPyUQUEKOOQxsqkzKMCyrHm3BA8NoXSMYQ++5YTtJ381UXa/KcfyINUGXJOmFR5q2v6eFR0gQtHlhfWoTjCmxEZ64Razi8bAQQc6NfU+Xg8CPUURF6CNpGElnil8rT5QEIA4MhuaGA3sprJpzokloUfI2KjNgoYNsMrXEqiezQOoqki+OnWrNo7zNwtg030PzhZn7p3r2WfIoVnAWxA1xCO+kqo8Uozob+910bebrxPi5xRdBCA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1647808008; bh=pXwouDQG6NSTkzFmVnmiUpRwtXoMdjcwv1/JS5qYBfe=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=e/TreavuqeB8VS4SpzF9iciBx+82dXO9kM/BC/rGiobPNG7wp66zXxHulbHeCaf6En6fZAjjLvD/Uc+yubB/IkvIYy2TzCAT/J/3bmddeY8hOjCiR28IV3W6rHg24R8BTC4F+KQWglzrtaI0mzlJx4b9iU8r9J8Z8q0dDwj5a5IFGTogzxYm3wpkGq5G7trk06jw7zwOc+ZqLOwSOi8qtUiFwR5qyAbdT9l3ObKbLKVMPXC58VDM04GHPpEX9Uy0d3O8Wx7KE7PoHAJflPMeID+kIuL7LgG94pwbm0G3+ke12VrhrpWqjw5OyGXDGX5krBiiTpnKzMsOFeTOalhKRQ== X-YMail-OSG: SR0QrnYVM1mMybA1lsvGpiPcJHyidzNbNR6AO2RR0L7jrvQqSjlDLgf49bXWBRo d_ZogDu0Qy_sQiN5_iluxM00fHX3WGjjiYL5_AmOZb7i5OKKpeyjpit4wMS91dLbLuK_vbZYTkOI T64XEMUV3VXqOf93Qyoi8mro6l1YUiugjrrkiz8ykcPn3t6YDUAi3aFLRPUu77bsn6fbnHEEMcs2 5PcJP2FJEiL90SjRS1Ulsebn00h3eJx2E.3yC8RRVWRXMLhLlw_Dkvsdj4yR2tZEeEYd8wFSPueI n1qYBEU0gis6pW6InGqXUJ71FxHvypMjLgPC_RuoSZRoZ7ExKBUnHXgzfzIQrQ6sTQL7r0t.vrEP 7Jnzz7Iwv14YA8Tpuis6bnIrUKzpRzMoZGuHXOr7czOc_pyCZEJL1DXRrp0CACvsp_x0vKgTlqgK VKJUqobrGuw_bevLhsrVGkcxbQr3otMHcDTrDvhXuSJPr3GPHoPTA8tESJACInafbfOFE0beB7q9 HjXDkhwj.XmgjcGS4_rO0gBfSBLmKUoy5PmOpS.mXN6vSVAlx186w5LG4mDbAZXLdVlv4hABuBJf Gxgqxaj1td0CRrUSstX5Kir7hjXyi76oaH1sb6CM0wu0P5GMzqhBuBP8DrsXmPrSUYU.A2ePVTUC YDIrXDgvFZ9qid9gn0ZkJ2u0LjwbbojlGFKG0T6a0PJ2SJAftgAysF1u3cvp943_pk8VI_sPTVFS BAYo3jOcWkupCsPj9.BZTWEgLQIWgB7ERxcXVdRIYkNRiuidcsMHzsSEPkuJFyWyxKEbPoNJ4SJ7 sePXcsbsRtdQdKASWvekZBmOwB9540B_EfURhsz4tORjUQK6IREO_fM9Ls.tV4kMzzmTXicbB4hQ CX_as7iH7AmNla8jDc_BsXYQbI1XwSNJhRbKQkMUSgOfsFxxd8Xw6_SIOfDulPU.xT4sqvOrt109 .Roe5QAThGaYLdKp5mLxwDwYSLDd8hX_jp8R5aiuyqSubTtNxsFvtSoaNYLuTsN6aPr3NyeOlR9_ eZUzQiZMNLNirUS6X5lbeGzlozL1ccUSWoG_EtqglEf3okHW2e6rF6DdA0JUvDLSWEVZLj5GFwij n1TVI.0.L6mkmGzXR5FKvHQEOk6z5K5xhN1ES2jXfqhHSfCIKIDIuyM7djWkIePgYN8Y0SZmRovt MAMG.wEP1qCDEsMAPgBhghMyv_pAEs47BXOwh7AbJVnVVzQ0opf9Aby3PUWMwX4Ho9n6S.dVdP1a FiU8A1MyK5G7GYRtLcVqh2wYH33rTHhhrkOUUUBFnnKqvH.wofZw9dzrqGEDNW0PkWfia.Er1c3G SkEVq4WPWh33w6MMfXf9SuohO6KsqcX7KKNG0fYTnRMMPkwmV9nXplH3ssJnMbY0LC2MyN4oh3Cx KYIY074eJ3oECiwa27TolWNFmRSQXYUP7.MlyLqmPygygw9AWBTYOP.00jnFKx66WAAvYbtr4.gc 7b2YjJvCJrGvlM7HlHbSF99IfL0m0CczLxFB0b2ALHxT3Fg2jSSzl2bDpL0yXfr88XQj6jCQBJaP JFZ_.r2cAT8eNK3t3jHzkZ5b_4i2DK3TwWVQlKoLHEBEqfoz725HBw96.YdusWhxLfa4bUgyqrT9 CfhnGSTOLZV8KwQmhCBlU8O5dylEmpJvC_Ubl2P.3hXxLJUUmf08NbYaOjI4fkeLILSRl2yvriNH Gga2pF5CBdUlwi7coa6_fH7Knv7IR5an5V8InTkGtLfOKg7DnAwXjbRFNGTxE5b_rNXFNeLsT9gI Ws6k0Ma.ixsGNrEUQKj1baSzXs6OOA89nzN2r.kPUHzL7QrjK2y_PpVcPcwcb2XUz7RoEeSHf0Gl z1.oeIBEt.pigGbeEiWg5uZg5IY7tpEDTjnheDf9JJIvMktCjrsFC44ALlT2jTFfY_lux0.X2qzI 3nmUxo4MpoHcTeU2EehNkhLc6FmbXqQM28zIA5XfuQXtZ64IeQR8UdizyFdsPLH8It8mTUVhWD6r 49HpFC0wHCB4q8sO60gMLbIFSXONilaV0QokBU2fxP3KP2yIJnH9_P1TMyYRRym2P7s8oBLkqRvR Y0CQczRW_ODXOearkDK_R4MWoi2FHwn4BgX6bnnaccrLNaQqGMIQHfDbo2N9rySJ5C2AWERyUYB4 CBOK3AWafwoRLQDilngiDYquOy1TP19C6jK4aDCCyYealKneZpO4yUVZSyZx7SmrFd8hHCU8- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic318.consmr.mail.ne1.yahoo.com with HTTP; Sun, 20 Mar 2022 20:26:48 +0000 Date: Sun, 20 Mar 2022 20:26:45 +0000 (UTC) From: Matthew Reeves To: pgsql-odbc@lists.postgresql.org Message-ID: <1154651790.1143593.1647808005653@mail.yahoo.com> Subject: PostgreSQL via PolyBase (MS-SQL) - Numeric Data Type Issue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable References: <1154651790.1143593.1647808005653.ref@mail.yahoo.com> X-Mailer: WebService/1.1.19894 YMailNodin Content-Length: 2064 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hello, everyone, I am hopeful that there is someone in the PG community who can help with th= is one. Our company has a MS-SQL data-warehouse, and we have a requirement to incor= porate data from a PostgreSQL ERP database into this environment.=C2=A0 We = have elected to do so via the MS-SQL PolyBase component. We have installed the psqlODBC drivers (psqlodbc_13_02_0000) on the MS-SQL-= Server.=C2=A0 The master key, database scoped credential and external data = source have all been created, and external table links work as expected, wi= th the exception of any tables containing numeric or decimal fields (ex. nu= meric(18,2), decimal(18,2)).=C2=A0 When the MS-SQL-Server instance attempts= to execute a query on such a table, the following error is returned: Cannot execute the query "Remote Query" against OLE DB provider "MSOLEDBSQL= " for linked server "(null)". 105082;Generic ODBC error: OdbcBufferReader.R= eadBuffer, error in OdbcReadBuffer: SqlState: IM001, NativeError: 0, 'Error= calling: SQLSetDescRec(this->GetHdesc(), (SQLSMALLINT)column->idxServerCol= , (SQLSMALLINT)column->odbcReadType, 0, column->valueLength, (SQLSMALLINT)c= olumn->precision, (SQLSMALLINT)column->scale, (SQLPOINTER)(pBuffer + column= ->valueOffset), (SQLLEN *)indPtr, (SQLLEN *)indPtr), SQL return code: -1 | = SQL Error Info:=C2=A0 Error <1>: ErrorMsg: [Microsoft][ODBC Driver Manager]= Driver does not support this function | Error calling: pReadConn->ReadBuff= er(pBuffer, bufferOffset, bufferLength, pBytesRead, pRowsRead) | state: FFF= F, number: 566, active connections: 7', Connection String: DSN=3DPOSTGRESQL= ERP. The only workaround that I have seen posted on the web thus far is to map t= he PostgreSQL numeric data type, on the MS-SQL side, as an INT type.=C2=A0 = This works for any numeric fields where the scale is 0 (ex. numeric(10,0)).= =C2=A0 However, for any of the tables from the ERP financial module, where = fields are defined as numeric(18,2), for example, this is not a viable solu= tion. I look forward to hearing from you, Matthew