Using FreeTDS to connect to MSSQL
01 Oct 2015In today’s post, I’ll outline the steps required to connect to a Microsoft Sql Server database from within an Ubuntu Linux environment using FreeTDS and ODBC.
Get the software
Using apt-get, we can satisfy all of the system-level requirements (libraries):
sudo apt-get install freetds-dev freetds-bin unixodbc-dev tdsodbcFreeTDS now needs to be defined as a driver in the /etc/odbcinst.ini file.
[FreeTDS]
Description=FreeTDS Driver
Driver=/usr/lib/odbc/libtdsodbc.so
Setup=/usr/lib/odbc/libtdsS.soHitting the can
Now that we’ve got a driver up and running, we can use a library like sqlalchemy to run some queries. Before we can do that though, we need to install python’s odbc bindings pyodbc.
pip install pyodbc sqlalchemyWe can now start running some queries.
import urllib
import sqlalchemy as sa
cstr = urllib.quote_plus('DRIVER=FreeTDS;SERVER=host;PORT=1433;DATABASE=db;UID=user;PWD=password;TDS_Version=8.0;')
engine = sa.create_engine('mssql+pyodbc:///?odbc_connect=' + cstr)
for row in engine.execute('SELECT 1 AS Test;'):
print row.Test