Project: pymssql

DB-API interface to Microsoft SQL Server for Python. (new Cython-based version)

Project Details

Latest version
2.2.11
Home Page
PyPI Page
https://pypi.org/project/pymssql/

Project Popularity

PageRank
0.0020405208011408916
Number of downloads
8238032

pymssql - DB-API interface to Microsoft SQL Server

.. image:: https://github.com/pymssql/pymssql/workflows/Linux/badge.svg :target: https://github.com/pymssql/pymssql/actions?query=workflow%3A%22Linux%22

.. image:: https://github.com/pymssql/pymssql/workflows/macOS/badge.svg :target: https://github.com/pymssql/pymssql/actions?query=workflow%3A%22macOS%22

.. image:: https://github.com/pymssql/pymssql/workflows/Windows/badge.svg :target: https://github.com/pymssql/pymssql/actions?query=workflow%3A%22Windows%22

.. image:: http://img.shields.io/pypi/dm/pymssql.svg :target: https://pypi.python.org/pypi/pymssql/

.. image:: http://img.shields.io/pypi/v/pymssql.svg :target: https://pypi.python.org/pypi/pymssql/

A simple database interface for Python_ that builds on top of FreeTDS_ to provide a Python DB-API (PEP-249) interface to Microsoft SQL Server.

.. _Microsoft SQL Server: http://www.microsoft.com/sqlserver/ .. _Python: http://www.python.org/ .. _PEP-249: http://www.python.org/dev/peps/pep-0249/ .. _FreeTDS: http://www.freetds.org/

Detailed information on pymssql is available on the website:

pymssql.readthedocs.io <https://pymssql.readthedocs.io/en/stable/>_

New development is happening on GitHub at:

github.com/pymssql/pymssql <https://github.com/pymssql/pymssql>_

There is a Google Group for discussion at:

groups.google.com <https://groups.google.com/forum/?fromgroups#!forum/pymssql>_

Getting started

pymssql wheels are available from PyPi. To install it run:

.. code-block:: bash

pip install -U pip
pip install pymssql

Most of the times this should be all what's needed. The official pymssql wheels bundle a static copy of FreeTDS and have SSL support so they can be used to connect to Azure.

.. note:: On some Linux distributions pip version is too old to support all the flavors of manylinux wheels, so upgrading pip is necessary. An example of such distributions would be Ubuntu 18.04 or Python3.6 module in RHEL8 and CentOS8.

Basic example

.. code-block:: python

conn = pymssql.connect(server, user, password, "tempdb")
cursor = conn.cursor(as_dict=True)

cursor.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe')
for row in cursor:
    print("ID=%d, Name=%s" % (row['id'], row['name']))

conn.close()

Recent Changes

Version 2.2.11 - 2023-12-03 - Mikhail Terekhov

General

  • Use FreeTDS-1.4.9 for official wheels on PyPi.
  • Add workflow for aarch64 wheel. Thanks to juntangc (fix #692, #759, #791, #819, #826, #858).
  • Add datetime.date to SQLDATE conversion.
  • Add encription parameter to connect (fix #797).

Bug fixes

  • Fix version parsing in development.
  • Add missing charset parameter when formatting query (fix #650).
  • Use four digits for the year in SP args binding (fix #454).
  • Fix convert_python_value to work with datetime.date (fix #811).

Version 2.2.10 - 2023-10-20 - Mikhail Terekhov

General

  • Publish Linux wheels for Python-3.12