Skip to main content

Django database backend for Microsoft SQL Server that works on non-Windows systems.

Project description

Goals

django-pymssql is a Django database backend for Microsoft SQL Server that works on non-Windows systems.

It’s a small wrapper around django-mssql that uses pymssql instead of ADO to connect to SQL Server.

It should support the same versions of Python, Django and SQL Server as django-mssql.

The original use case was to connect to SQL Server from a Django project written in Python 3 and running on Linux.

Status

django-pymssql 1.7 almost passes Django’s test suite with:

  • Python 2.7 or 3.4

  • Django 1.7.x + django-mssql 1.6.1 + pymssql 2.1.1

  • Microsoft® SQL Server® 2012 Express

Usage

django-pymssql provides a Django database engine called sqlserver_pymssql:

DATABASES = {
    'default': {
        'ENGINE': 'sqlserver_pymssql',
        'HOST': '...',
        'NAME': '...',
        'USER': '...',
        'PASSWORD': '...','
        'OPTIONS': {
            # ...
        },
    },
}

Any parameter accepted by pymssql.connect can be passed in OPTIONS.

Alternatives

django-sqlserver is a fork of django-mssql that supports python-tds and pymssql in addition to ADO on Windows. Unfortunately it has diverged and it lags behind django-mssql when it comes to supporting newer Django versions.

django-pyodbc relies on pyodbc to connect to SQL Server. It requires a complex stack that doesn’t bring actual benefits. Besides it doesn’t appear to be very mature nor actively maintained.

Hacking

Clone Django, pymssql, django-mssql and django-pymssql and pip install -e . each of them in a virtualenv.

Create a Django tests settings file with the database engine set to 'sqlserver_pymssql' and credentials for a testing SQL Server instance.

Go the the tests subdirectory in a clone of Django and execute ./runtests.py --settings=test_pymssql.

License

django-pymssql is released under the MIT license, like django-mssql. See the LICENSE file for details. Note that pymssql is released under the LGPL.

Some database version checking code was borrowed from django-sqlserver which is also released under the MIT license..

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-pymssql-1.7.1.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

django_pymssql-1.7.1-py2.py3-none-any.whl (7.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-pymssql-1.7.1.tar.gz.

File metadata

File hashes

Hashes for django-pymssql-1.7.1.tar.gz
Algorithm Hash digest
SHA256 cdb801c253aedc76052a6ee828dcdda70ffad815080a5b5357453aa2bb96edbf
MD5 f02fa7f07c6c2d13e3b885402c2aee9a
BLAKE2b-256 e13d732178407fff0f68f51da045d1528278abfdc2871d9ef0d273c4e01c32ec

See more details on using hashes here.

File details

Details for the file django_pymssql-1.7.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_pymssql-1.7.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 19d2cda0f79ee2e1771e5e205b525f91e2e7bd18af7a39ee1f53eea39d823e85
MD5 102f98c09354b7c0a97bd38a65fe4052
BLAKE2b-256 a7b516bdf486865cbdda92920afef50c89641e9cd5e0b1d45ca347f1dce59998

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page