Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
Thread:
Lists: pgsql-interfacespgsql-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

pgsql-odbc by date

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

pgsql-interfaces by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group