How to setup pyodbc to connect to MSSQL from ubuntu linux

Pyodbc is a great python sql db 2.0 interface to odbc. It is a mature and well written library.

It's also a little hard to setup on linux due to all the pieces involved, but never fear, here are the steps on Ubuntu 8.04. The following will show you how to setup the dsn-less setup. This way you don't have to setup DSNs for each connection. Thanks Guillermo for the tip.

sudo aptitude install unixodbc unixodbc-dev freetds-dev tdsodbc python-dev

Change /etc/odbcinst.ini to

[FreeTDS]
Description = TDS driver (Sybase/MS SQL)
Driver = /usr/lib/odbc/libtdsodbc.so
Setup = /usr/lib/odbc/libtdsS.so
CPTimeout =
CPReuse =

Now unixodbc and freetds are setup.

On to pyodbc itself.

Download the current version of pyodbc

Unzip the file.

Do a

sudo python setup.py install

All done.

Test it with

python
>>> import pyodbc
>>> conn = pyodbc.connect("DRIVER={FreeTDS};SERVER=dns_or_ip_of_server;UID=username;PWD=password;DATABASE=database_name")

No errors and it is installed and working!