[freetds] SUMARY: Newcomer to FreeTDS - in search of sample C code for a re lative b eginner
a.cranston at selwaymoore.com
Tue Mar 30 08:28:05 EST 2004
Many thanks to Bill and Daniel,
First of all I was looking in the wrong place. Next time I'll take a look
at the source distribution for source files - D'Oh!
I decided to follow Bill's advice and look at db-library first. The t0001.c
unit test under:
was my first test. To get this to compile I did the following:
#define MAXPATHLEN 2048
to the common.c source file.
Produced the common.o object file with:
gcc -c common.c
it generated some compiler warnings:
common.c: In function `read_PWD':
common.c:79: warning: assignment makes pointer from integer without a cast
common.c: In function `read_login_info':
common.c:106: warning: assignment makes pointer from integer without a cast
common.c:107: warning: assignment makes pointer from integer without a cast
which I brazenly ignored :-)
Copied everything in /usr/local/freetds/include to /usr/include. I used "cp
-i" to check for any file name clashes - there were none.
Next I compiled t0001.c as follows:
gcc -L /usr/local/freetds/lib -lsybdb -lct -o t0001 common.o t0001.c
This produced the t0001 executable.
Added the following to /etc/hosts:
10.1.1.25 sandbox.internal.selwaymoore.com sandbox SANDBOX
Added the following to /usr/local/freetds/etc/freetds.conf:
host = sandbox.internal.selwaymoore.com
port = 1433
tds version = 7.0
Created a PWD file in freetds-0.61.2 with the following lines in it:
Ran t0001 as follows:
and it worked!
Now I can look at the code in common.c, common.h and t0001.c to learn about
the API in more detail and write some code of my own.
> -----Original Message-----
> From: Andy Cranston [mailto:a.cranston at selwaymoore.com]
> Sent: 30 March 2004 12:23
> To: 'freetds at lists.ibiblio.org'
> Subject: [freetds] Newcomer to FreeTDS - in search of sample
> C code for
> a relative b eginner
> Hello list,
> I am a newcomer to FreeTDS and I am in search of sample C
> code to show me
> how to access a Microsoft SQL Server database from a C
> program on a UNIX
> system. Here are my platform details:
> UNIX side:
> Solaris 8 running on a Sun Microsystems Ultra-1
> FreeTDS version 0.61
> GNU gcc version 3.2.2
> Database side:
> Windows NT Server 4.0 service pack 6a
> Microsoft SQL Server version 8.0 / 2000
> I compiled and installed FreeTDS "out of the box"
> (./configure, make, make
> I can use the tsql utility to access the databases on the SQL Server
> although I do need to login as the Administrator user
> supplying the Windows
> NT domain admin password if I want to be able to see all the
> tables in each
> I have gotton as far as selecting columns of information from selected
> tables via a UNIX expect script which drives a tsql session
> but I would like
> to do this "properly" by using a suitable API from within a C
> program to
> connect to the database, authenticate, issue one or more
> select statements
> and then gracefully close the connection.
> I have had a look at the FAQ on the FreeTDS website but have
> not found any
> sample code for using an API from C. I'm probably just
> looking in the wrong
> place (apologies if I am) but if somebody could point me in the right
> direction to get started I'd be very grateful.
> Andy Cranston.
This message has been checked for all known viruses by the Selway Moore
scanning service powered by MessageLabs. For further information and
statistics on current viruses visit http://www.messagelabs.com/stats.asp
More information about the FreeTDS