[freetds] How does one actually *use* FreeTDS?

Merle Reinhart merlereinhart at mac.com
Sat Apr 11 14:18:31 EDT 2009


I use FreeTDS to talk to both Sybase and MS SQL Servers from Mac OS  
10.5.6 at work.

I don't use unixODBC since iODBC comes installed with the Mac OS, so  
my examples below assume iODBC was used when compiling FreeTDS. Also,  
I build FreeTDS myself and installed it in /usr/local/freetds/ so  
adjust accordingly.

I pretty much just followed what is described in the freetds user  
guide using the ODBC-combined configuration since I want to use sqsh  
(or fisql) and ODBC to talk to the servers duplicating as little of  
the details of the servers as possible between the two sets of  
configuration files.

Here is an example from my freetds.conf file.  The Sybase server in  
this example is 'bob' and the MS SQL server is 'fred'.  The Sybase  
servers far out number and were in existence prior to the MS SQL  
server, so that is why the tds version 5 is specified in the [global]  
section.  The other thing is I use my local DNS server to resolve the  
hostname rather than hardcode IP-addresses into the file.


         # TDS protocol version
         tds version = 5.0

         host = bob.domain.com
         port = 9002

         host = fred.domain.com
         port = 1433
         tds version = 8.0

That will let me connect to the servers via sqsh or fisql.  Now to  
setup the ODBC configuration files.

iODBC on the Mac expects to see the configuration files in /Library/ 
ODBC for system-wide configurations and ~/Library/ODBC for user  
configurations.  I use the system-wide configurations so all the users  
on that Mac can connect to the servers.  Normally, the ODBC driver  
installer package is expected to create the appropriate odbcinst.ini  
file.  Once that is done, the /Applications/Utilities/ODBC  
Administrator can be used to setup the database connections.  However,  
freetds doesn't include a Mac OS X native installer for the ODBC  
driver so the file must be created by hand with a text editor.

So, create the /Library/ODBC directory if is doesn't exist.

My odbcinst.ini file for freetds is:

; odbcinst.ini
[ODBC Drivers]
FreeTDS = Installed

Driver = /usr/local/freetds/lib/libtdsodbc.so

You an use the ODBC Administrator app to create the odbc entries, but  
I just used a text editor.  The file goes in /Library/ODBC and is  
called odbc.ini:

[ODBC Data Sources]
BOB         = FreeTDS
FRED        = FreeTDS

Driver      = /usr/local/freetds/lib/libtdsodbc.so
Description = BOB Sybase Server
Servername  = BOB

Driver      = /usr/local/freetds/lib/libtdsodbc.so
Description = Fred MS SQL Server
Servername  = FRED

Driver      = /usr/local/freetds/lib/libtdsodbc.so

That's it.  You should now be able to see the entries in the ODBC  
Administrator GUI tool.

This has worked for me for several years now with several Sybase  
servers and in the past year with a MS SQL Server.

All this was figured out by just going through the freetds userguide  
and a little playing.  The 'Servername' in the ODBC file must match  
the freetds.conf entry since I'm using the ODBC-combined  
configuration.  That's the only thing I can think of to watch out for.


On Apr 11, 2009, at 1:20 PM, freetds-request at lists.ibiblio.org wrote:

> Message: 1
> Date: Sat, 11 Apr 2009 10:54:21 -0400
> From: "lists at mgreg.com" <lists at mgreg.com>
> Subject: [freetds] How does one actually *use* FreeTDS?
> To: freetds at lists.ibiblio.org
> Message-ID: <0C3CDB08-A0A9-48E0-8B82-24D410493725 at mgreg.com>
> Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
> Hi All,
> I'm a bit confused as to how to actually go about using the FreeTDS
> library.  My ultimate goal is to be able to use it as my means of
> contact with MS SQL Server from Mac OS 10.5.6.  I see all kinds of
> documentation regarding installation, but very little about actual use
> cases.
> Perhaps I have the wrong thing in mind, but I'm looking to use the
> ODBC Administrator to set up a DSN and take it from there.  I also
> have unixODBC installed, but am not quite sure if what I'm looking for
> is directly possible?
> FYI, I've installed FreeTDS via Macports and have done no manual
> configuration, but I'm more than happy to go back and manually install
> if that will provide me with what I need.
> Best,
> Michael

More information about the FreeTDS mailing list