Thanks, Tom. That looks promising, but unfortunately I don't have the
tools to recompile. I guess there's no magic configuration file that
would allow me to override this built-in type-mapping, eh?
Any chance someone else has run into this problem found a workaround
that doesn't involve customizing the code? I'd be satisfied with
something kludgy, as long as it could be reliably automated. <g>
-MW
-----Original Message-----
From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
Sent: Friday, February 08, 2002 1:08 PM
To: Matt Wedgwood
Cc: pgsql-odbc@postgresql.org
Subject: Re: [ODBC] Datatype misrepresentation DTS with SQL Server
"Matt Wedgwood" <mwedgwood@TONYSANCHEZ.com> writes:
> I'm trying to use the "Import and Export Data" (DTS) tool included
> with MS SQL Server to push data to a PostgreSQL 7.1.3 database via an
> ODBC connection. Everything works great, except if I try to use the
> bigint/int8 data type for columns on the PostgreSQL side. DTS
> incorrectly sees the int8 datatype as "char" and therefore ties to
> shove a space-padded representation of the integer into the table.
You could try hacking the source code of the PG ODBC driver. I note
this in pgtypes.c:
/* Change this to SQL_BIGINT for ODBC v3 bjm 2001-01-23 */
case PG_TYPE_INT8:
return SQL_CHAR;
Don't know whether DTS will actually recognize SQL_BIGINT, but it's
worth a try. SQL_NUMERIC could be worth trying too, if BIGINT fails.
regards, tom lane