% title: Connecting Django to a MS SQL Server % subtitle: PDX-Python January 2014 % author: Hobson Lane % thankyou: Thanks PDX-Python! % thankyou_details: And all these open source contributors: % contact: python % contact: django % contact: pyodbc % favicon: http://python.org/favicon.ico
title: Download and install "Microsoft SQL Server 2012 Express"
title: If your python world isn't in order, pip and virtualenv can help
#!/usr/bin/env bash
deactivate 2>/dev/null
sudo yum remove python-pip python-virtualenv
sudo yum install --updated -y python python-setuptools python-devel libxml2 libxml2-devel zlib-devel openssl-devel curl
mkdir -P ~/src/pip
cd ~/src/pip
curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
sudo python get-pip.py
sudo pip install virtualenvwrapper
title: Install TDS and ODBC for linux
#!/usr/bin/env bash
sudo yum install --updated -y pcre pcre-devel gcc make autoconf automake unixODBC* freetds*
title: Backup and edit /etc/odbcinst.ini
#!/usr/bin/env bash
sudo cp /etc/odbcinst.ini /etc/odbcinst.ini.bak
echo '
[FreeTDS]
Description=TDS driver (Sybase / MS SQL)
Driver=/usr/lib64/libtdsodbc.so
Setup=/usr/lib64/libtdS.so
FileUsage=1
' >> /etc/odbcinst.ini
title: Add the DB to your Django settings.DATABASES
#!/usr/bin/env python
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc'
'NAME': 'mydatabasename',
'USER': 'yourusername',
'PASSWORD': 'yourpassword',
'HOST': '192.168.1.127',
# 'HOST': 'fully.qualified.domain.nm',
'PORT': '1433',
'OPTIONS':{ 'host_is_server': True, }
},
}
from django.db import connections conn = connections['default'] print conn.introspection.table_names(conn.cursor()) ~~~~~~~~~~~~~~~~~~~~~~~~~~~
With pyodbc:
from django.conf import settings import pyodbc connection_string = "Driver=FreeTDS;Server=%s;DATABASE=%s;UID=%s;PWD=%s;TDS_Version=7.2;PORT=%s" % ( settings.DATABASES['default']['HOST'], settings.DATABASES['default']['NAME'], settings.DATABASES['default']['USER'], settings.DATABASES['default']['PASSWORD'], settings.DATABASES['default']['PORT'], ) print conn.introspection.table_names(conn.cursor())
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |