Introduction¶
Getting started¶
Generally, you will want to install pymssql with:
pip install pymssql
FreeTDS is required. On some platforms, we provide
a pre-compiled FreeTDS to make installing easier, but you may want to install
FreeTDS before doing pip install pymssql
if you run into problems or need
features or bug fixes in a newer version of FreeTDS. You can build FreeTDS
from source if you want the
latest. If you’re okay with the latest version that your package manager
provides, then you can use your package manager of choice to install FreeTDS.
E.g.:
Ubuntu/Debian:
sudo apt-get install freetds-dev
Mac OS X with Homebrew:
brew install freetds
Docker¶
(Experimental)
Another possible way to get started quickly with pymssql is to use a Docker image.
See the Docker docs for installation instructions for a number of platforms; you can try this link: https://docs.docker.com/installation/#installation
There is a pymssql docker image on the Docker Registry at:
https://registry.hub.docker.com/u/pymssql/pymssql/
It is a Docker image with:
- Ubuntu 14.04 LTS (trusty)
- Python 2.7.6
- pymssql 2.1.2.dev
- FreeTDS 0.91
- SQLAlchemy 0.9.8
- Alembic 0.7.4
- Pandas 0.15.2
- Numpy 1.9.1
- IPython 2.3.1
To try it, first download the image (this requires Internet access and could take a while):
docker pull pymssql/pymssql
Then run a Docker container using the image with:
docker run -it --rm pymssql/pymssql
By default, if no command is specified, an IPython shell is invoked. You can override the command if you wish – e.g.:
docker run -it --rm pymssql/pymssql bin/bash
Here’s how using the Docker container looks in practice:
$ docker pull pymssql/pymssql
...
$ docker run -it --rm pymssql/pymssql
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
Type "copyright", "credits" or "license" for more information.
IPython 2.1.0 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: import pymssql; pymssql.__version__
Out[1]: u'2.1.1'
In [2]: import sqlalchemy; sqlalchemy.__version__
Out[2]: '0.9.7'
In [3]: import pandas; pandas.__version__
Out[3]: '0.14.1'
Architecture¶
The pymssql package consists of two modules:
pymssql
– use it if you care about DB-API compliance, or if you are accustomed to DB-API syntax,_mssql
– use it if you care about performance and ease of use (_mssql
module is easier to use thanpymssql
).
And, as of version 2.1.x it uses the services of the db-lib
component of
FreeTDS. See the relevant FreeTDS documentation for additional details.
Project Discussion¶
Discussions and support take place on pymssql mailing list here: http://groups.google.com/group/pymssql, you can participate via web, e-mail or read-only subscribing to the mailing list feeds.
This is the best place to get help, please feel free to drop by and ask a question.
Project Status¶
Current release: 2.x is the branch under current development. It is a complete rewrite using Cython and the latest FreeTDS libraries (which remove many of the limitations of previous versions of FreeTDS).
Legacy release: 1.0.3 is the legacy version and is no longer under active development.
Note
This documentation is for pymssql 2.x.
The document set you are reading describes exclusively the code base of pymssql 2.x and newer. All description of functionality, workarounds, limitations, dependencies, etc. of older revisions has been removed.
If you need help for building/using pymssql 1.x please refer to the old Google Code documentation Wiki.
Current Development¶
Official development repositories and issue trackers have been moved to GitHub at https://github.com/pymssql/pymssql.
We would be happy to have:
- A couple more developers
- Help from the community with maintenance of this documentation.
If interested, please connect with us on the mailing list.