Skip to content

The mssql_python module

Jahnvi Thakkar edited this page Sep 18, 2025 · 1 revision

This page documents the global attributes and functions available directly from the mssql_python module. These apply across all connections and cursors created using mssql_python.

Global Attributes (Read-Only)

Attribute Value Description
apilevel "2.0" The DB API level supported (per PEP 249).
paramstyle "qmark" The parameter style used in SQL queries (e.g., SELECT * FROM T WHERE id = ?).
threadsafety 1 Indicates that threads may share the module but not connections.
lowercase False If True, column names returned from queries are automatically converted to lowercase.
decimal_separator "." (default) The character used when parsing NUMERIC/DECIMAL values. Initialized at import from locale, defaults to "." if unavailable.

Functions

get_settings()

Returns the global settings object.

import mssql_python

settings = mssql_python.get_settings()
print(settings.lowercase)         # False
print(settings.decimal_separator) # "."

setDecimalSeparator(separator)

Sets the decimal separator character used when parsing NUMERIC/DECIMAL values.

Args

  • separator (str): Must be a single non-whitespace, non-control character string.

Raises

  • ValueError: If the input is empty, longer than one character, whitespace, or a control character.
import mssql_python

# Change separator to comma
mssql_python.setDecimalSeparator(",")

getDecimalSeparator()

Returns the current decimal separator.

import mssql_python

sep = mssql_python.getDecimalSeparator()
print(sep)   # "."

pooling(max_size=100, idle_timeout=600, enabled=True)

Configures the connection pooling behavior.

Args

  • max_size (int): Maximum number of connections in the pool.
  • idle_timeout (int): Seconds before idle connections are closed.
  • enabled (bool): Enable (True) or disable (False) pooling.
import mssql_python

# Enable pooling with defaults
mssql_python.pooling()

# Enable pooling with custom values
mssql_python.pooling(max_size=50, idle_timeout=300)

# Disable pooling
mssql_python.pooling(enabled=False)

⚠️ Security & Usage Notes

  • Be careful when changing the decimal separator: setting it incorrectly may cause numeric parsing issues or inconsistent behavior across environments.
  • When enabling connection pooling, ensure proper sizing of max_size and idle_timeout to avoid resource exhaustion or stale connections in long-running applications.
Clone this wiki locally