Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Official FreeTDS repository
C HTML Shell Perl CMake DIGITAL Command Language Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


$Id: README,v 2005-03-29 17:02:25 jklowden Exp $
README for FreeTDS 0.63
Saturday, 27 November 2004

* to build FreeTDS read the file INSTALL,
* see also the FreeTDS Users Guide,

FreeTDS is a free (open source) implementation of Sybase's db-lib,
ct-lib, and ODBC libraries. FreeTDS builds and runs on every flavor of
unix-like systems we've heard of, as well as Win32 (with or without
Cygwin), VMS, and Mac OS X.  Failure to build on your system is probably
considered a bug.  It has C language bindings, and works also with Perl
and PHP, among others.  

FreeTDS is licensed under the GNU LGPL license. See COPYING.LIB for

Other files you might want to peruse:

AUTHORS		Who's involved
BUGS		Some things we fixed, or think we did
ChangeLog	Detailed list of changes
NEWS		Summary of feature changes and fixes
README		This file
TODO		The roadmap, such as it is

Also, doc/api_status.txt shows which functions are implemented.  

** Warning regarding Sybase 12.5! **

Do Not Use TDS version 4.2 to connect to Sybase 12.5. Please!  

While we don't like to put the bad news first, neither do we want you to
hurt your server.  We know that our implementation of TDS 4.2 gives
Sybase 12.5 a bad case of heartburn.  In short: it crashes the server.  

We don't know what it is about our version of TDS 4.2 that Sybase 12.5
doesn't like, and we'd like to figure it out eventually.  But in the
meanwhile, until we can find the problem and fix it, please don't use
that combination.  Unless you want to help us test it, that is.  

FreeTDS 0.63 works fine with Sybase 12.5 if you use TDS version 5.0.  

If you are using Sybase 12.5 and anything above is not clear to you,
please see the User Guide.  If it is still not clear after that, please
write to the FreeTDS mailing list.  We'd rather answer your questions
while your server is still running.  

Thank you.  We return now to your regularly scheduled README, already in

New in this version

Ct-lib now sports bcp and cursors.  The largest missing feature is now
placeholder support compatible with Perl's DBD::Sybase.  

ODBC continues to be improved.  It is now compatible with, for
example, and even works with Oracle's OTL libary.  It has better 64-bit
support.  It has better support for configure's --with-odbc-nodm (no driver
manager) option, and the rpm package no longer depends on the main package. 

BCP improvements, mostly.  

Win32 (tm)
Several fixes (timeout, dblib BOOL).  And a better installer.  

This version includes two new applications, bsqldb and defncopy.  See their man
pages for details.  

 - remove duplicate conversion warnings
 - better collation support
 - improved error reporting
- OpenOffice
- Oracle connector
- DBD::ODBC improved
- HP-UX and Mac OS X should compile flawlessly now.

- internal names normalization
- header privatization
- memory leaks and errors
- fixes for big-endian machines

As is our practice, our new version supersedes all others.  It compiles and
runs better than its predecessors.  


Many people contributed patches: 

- Alex Kiesel
- Edward Quackenbush (memory leak)
- David Fraser (ODBC test and patches)
- Matthew Davis (buffer reading overflow)
- Dmitri Fedortchenko (userguide, Mac OS X)
- Christos Zoulas (bcp)
- Nick Stoughton (odbc query patch)
- Steve Kirkendall (win32, server)
- Sven Goldt (php samples)
- Liam Widdowson (fix for rpc in dblib)
- Hannu Niemi (i18n problem)
- Magni Fabrizio (Oracle connector)
- Jun Chen (Oracle connector)
- Craig A. Berry (VMS support)
- Iain Calder (dblib memory leaks)
- Tom Rogers (win32 stuff, configuration)

A note from Frediano

Many thanks to the guys that helped me fix the ODBC stuff for Oracle
Generic Connectivity. They were fast and provided very useful

Thanks to the "official" FreeTDS staff Bill Thompson, James Lowden and
Peter Deacon and many thanks also to Brian Bruns, Martin Spott, Michael
Peppler and Alex Kiesel for their continued contributions.


A User Guide, in SGML and HTML form, is included in this distribution. 
Also included is a reference manual, generated in HTML with Doxygen. 
"make install" installs the HTML documentation, by default to

Note to Users

Submissions of test programs (self-contained programs that demonstrate
functionality or problems) are greatly appreciated.  They should
create any tables needed (since we obviously don't have access to your
database) and populate them.  Unit tests for any of the libraries
is appreciated

Notes to Developers

The code is split into several pieces.

1) tds directory is the wire level stuff, it should be independent of
   the library using it, this will allow db-lib, ct-lib, and ODBC to
   sit on top.

2) db-lib directory. This is the actual db-lib code which runs on top of

3) ct-lib directory. This is the ct-lib code which runs on top of tds. 

4) server directory. This will be a set of server routines basically
   to impersonate a dataserver, functions like send_login_ack() etc...

5) odbc directory. ODBC implementation over tds.  Uses iODBC or
   unixODBC as a driver manager.  You need to have one of those if you
   are using the ODBC CLI.

6) unittests directories. Test harness code for ct-lib, db-lib, ODBC and

6) samples directories. Sample code for getting started with Perl,
   PHP, etc...

7) pool directory. A connection pooling server for TDS.  Useful if you
   have a connection limited license.  Needs some hacking to get
   configured but is quite stable once configured correctly. Contact
   the list if interested in how to use it.

Please look at doc/getting_started.txt for a description of what is
going on in the code.

Side note: Brian, as many free software authors, appreciates postcards
from all over. So if you live someplace neat (read: not Michigan) and
want to send one, email him ( for his current snail mail
Something went wrong with that request. Please try again.