pytds
Python DBAPI driver for MSSQL using pure Python TDS (Tabular Data Stream) protocol implementation. Doesn't depend on ADO or FreeTDS. Can be used on any platform, including Linux, MacOS, Windows.
It can be used with https://pypi.python.org/pypi/django-sqlserver as a Django database backend.
Features
- Fully supports new MSSQL 2008 date types: datetime2, date, time, datetimeoffset
- MARS
- Bulk insert
- Table-valued parameters
- TLS connection encryption
- Kerberos support on non-Windows platforms (requires kerberos package)
Installation
To install run this command:
$ pip install python-tds
If you want to use TLS you should also install pyOpenSSL package:
$ pip install pyOpenSSL
For a better performance install bitarray package too:
$ pip install bitarray
To use Kerberos on non-Windows platforms (experimental) install kerberos package:
$ pip install kerberos
Documentation
Documentation is available at https://python-tds.readthedocs.io/en/latest/.
Example
To connect to database do
import pytds
with pytds.connect('server', 'database', 'user', 'password') as conn:
with conn.cursor() as cur:
cur.execute("select 1")
cur.fetchall()
To enable TLS you should also provide cafile parameter which should be a file name containing trusted CAs in PEM format.
For detailed documentation of connection parameters see: pytds.connect