Skip to Content.
Sympa Menu

freetds - Re: [freetds] freetds and windows

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "James K. Lowden" <jklowden AT schemamania.org>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] freetds and windows
  • Date: Sat, 9 Apr 2005 12:38:27 -0400

Brett <generica AT email.com> wrote:
>
> Using dblib, I got the client program working perfectly. It could talk
> to the ms sql server, get the results back, and work as I'd hoped.
>
> The next plan was to compile it under windows, which I thought would be
> straightforward. We already had the system compiling under windows,
> with faked calls for the sql stuff, so it was just a case of using the
> freetds code, and linking it in with the windows libraries.

Ah, but it is not straightforward. :-( As you found, the VC++ project in
the win32 directory builds the ODBC driver only. If you update it to
build db-lib, I would be glad to include your version in the main
distribution.

> I went into the win32 directory, used msvc to load the projects, and
> compiled dblib.lib and libTDS.lib ... compiled and linked those into our
>
> software ( also had to link shell32.lib, due to some unresolved symbols
> )

shell32.lib? That's a surprise. What does db-lib need from that?

> Went to run it, and with the aid of printfs, found that it initialised
> the library fine, but at the following call, it just terminates
>
> erc = dbsqlsend(dbproc);

The function is provided by dblib.c:

$ cd build/src/dblib/.libs
$ file * |grep ELF | awk -F: '{print $1}' |xargs nm -o |grep dbsqlsend
dblib.o:00006f68 T dbsqlsend
libsybdb.so.5.0:0000ec5c T dbsqlsend

Can you run your test in the debugger and find out where it dies? Does
TDSDUMP tell you anything? If the process dies sending the login packet,
try TDSVER=4.2. TDS 4.2 login packets are logged by TDSDUMP, so you
should at least see that much in your log.

HTH.

--jkl




Archive powered by MHonArc 2.6.24.

Top of Page