RE: bug in ODBC driver (and fix)

From: Paul Breen <pbreen(at)computerpark(dot)co(dot)uk>
To: Mindaugas Idzelis <mai3116(at)ritvax(dot)isc(dot)rit(dot)edu>
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: RE: bug in ODBC driver (and fix)
Date: 2001-01-23 13:18:35
Message-ID: Pine.LNX.3.96.1010123130540.16071H-100000@cpark37.computerpark.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces pgsql-odbc

Hello Mindaugas,

> Got it to compile correctly, however, it doesn't link correctly. It's
> gettin some unresolved external symbols... by the looks of which look
> like its targeted to the unix platform.

It's not targeted for the unix platform, all of these function calls are
Winsock.dll calls (Microsoft's BSD-ish sockets implementation). I would
imagine the ODBC driver links to the dll at runtime (I seem to remember
that you need a definitions?? file to pull in Winsock calls at runtime).
If not you can link against the static library Wsock32.lib.

The ODBC driver uses TCP/IP socket calls to talk between your client and
the Postgres backend, thats why these calls are needed.

Hope this helps...

Paul M. Breen, Software Engineer - Computer Park Ltd.
Tel: (01536) 417155
Email: pbreen(at)computerpark(dot)co(dot)uk

On Fri, 19 Jan 2001, Mindaugas Idzelis wrote:

> The ODBC driver I had problems with is found at:
> ftp://ftp.postgresql.org/pub/odbc/latest/postdrv.exe
>
> This is apparently revision v06-50-0000. I patched the sources to this
> particular version. I just realized that there is a copy of the odbc driver
> in the postgresql source tree. I'm going to try to compile that with visual
> c++ 6.0 now.
>
> <time warp>
>
> Got it to compile correctly, however, it doesn't link correctly. It's
> gettin some unresolved external symbols... by the looks of which look
> like its targeted to the unix platform.
>
> connection.obj : error LNK2001: unresolved external symbol _htonl(at)4
> socket.obj : error LNK2001: unresolved external symbol _htonl(at)4
> psqlodbc.obj : error LNK2001: unresolved external symbol _WSACleanup(at)0
> psqlodbc.obj : error LNK2001: unresolved external symbol _WSAStartup(at)8
> socket.obj : error LNK2001: unresolved external symbol _closesocket(at)4
> socket.obj : error LNK2001: unresolved external symbol _shutdown(at)8
> socket.obj : error LNK2001: unresolved external symbol _connect(at)12
> socket.obj : error LNK2001: unresolved external symbol _socket(at)12
> socket.obj : error LNK2001: unresolved external symbol _htons(at)4
> socket.obj : error LNK2001: unresolved external symbol _gethostbyname(at)4
> socket.obj : error LNK2001: unresolved external symbol _inet_addr(at)4
> socket.obj : error LNK2001: unresolved external symbol _ntohl(at)4
> socket.obj : error LNK2001: unresolved external symbol _ntohs(at)4
> socket.obj : error LNK2001: unresolved external symbol _send(at)16
> socket.obj : error LNK2001: unresolved external symbol _recv(at)16
> Debug/psqlodbc.dll : fatal error LNK1120: 14 unresolved externals
>
>
> The file version for the odbc driver taken from the 7.1beta3 source tarball
> says this is ODBC version v06-40-0009. I downloaded the equivalent
> precompiled windows version from
> ftp://ftp.postgresql.org/pub/odbc/versions/v06-40-0009/postsrc.zip but this
> version DOES NOT have the int4out fix. Basically, none of the precompiled
> windows versions have that fix. I patched the 6-50-0000 code to support
> 7.1beta3. If anyone on the list is interested, have them download and try
> out that one.
>
> There is apparently some fixes that aren't incrementing version numbers, and
> also some versions that have the same number for windows and unix, they are
> not the same source. Confusing!
>
> --min
>
>
> -----Original Message-----
> From: Tom Lane [mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us]
> Sent: Friday, January 19, 2001 1:13 PM
> To: Mindaugas Idzelis
> Cc: pgsql-interfaces(at)postgresql(dot)org
> Subject: Re: [INTERFACES] bug in ODBC driver (and fix)
>
>
> Mindaugas Idzelis <mai3116(at)ritvax(dot)isc(dot)rit(dot)edu> writes:
> > If it was fixed in 7.0.3, it has not yet been fixed in 7.1beta3.
>
> Oh? I'm quite sure there is no reference to int4out in ODBC now.
> Look for yourself if you don't believe me. That patch was applied
> to the main branch back in August.
>
> Are you sure you are using a driver built from the current ODBC sources,
> and not 7.0.2 or earlier?
>
> > Also, what is wrong with the following sql query?
> > create unique index primary on tablename ( tableid );
>
> PRIMARY is an SQL reserved word.
>
> regards, tom lane
>

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Kogotkov, Vyacheslav 2001-01-23 13:42:09 RE: JDBC2 question -- can't find files needed
Previous Message Cedar Cox 2001-01-23 11:15:33 Re: Re: more odbc patches

Browse pgsql-odbc by date

  From Date Subject
Next Message Bruce Momjian 2001-01-23 15:12:41 Re: RE: Driver updates for 7.1
Previous Message The Hermit Hacker 2001-01-23 13:06:02 Re: RE: Driver updates for 7.1