Query a MS SQL Server database with Python
2012-07-14
I won't try to hide my love of Python. It's great. I built this site with it. So of course I would want to access a MS SQL Server database with it. Here's how you do it.
Things you'll need before you set start:
Cython>=0.15.1 (I'm using Cython-0.16)
python-dev
Download the pymssql library
Although development has died off, pymssql
works great. You can find it here: pymssql. The creators deem it as "A fast MS SQL Server client library for Python directly using C API instead of ODBC. It is Python DB-API 2.0 compliant. Works on Linux, *BSD, Solaris, Mac OS X and Windows."
Install the library
I'm on Ubuntu 12.04, which comes with python 2.7
by default. I used python-setuptools
and the easy_install
command to install an egg of the library:
sudo apt-get install python-setuptools
sudo easy_install pymssql-2.0.0b1_dev_20111018-py2.7-linux-x86_64.egg
Write a query script in python
Here's mine (it's a quick and dirty one based on the example on the pymssql page:
import pymssql
conn = pymssql.connect(host='my_host',
user='my_user', password='secret!', database='my_db')
cur = conn.cursor()
cur.execute('SELECT * FROM my_table')
row = cur.fetchone()
while row:
print "%s, %s" % (row[0], row[1])
row = cur.fetchone()
conn.close()
There it is! Nice and simple.