- Notifications
You must be signed in to change notification settings - Fork 27
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.
| 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. |
Returns the global settings object.
import mssql_python settings = mssql_python.get_settings() print(settings.lowercase) # False print(settings.decimal_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(",")Returns the current decimal separator.
import mssql_python sep = mssql_python.getDecimalSeparator() print(sep) # "."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 ofmax_sizeandidle_timeoutto avoid resource exhaustion or stale connections in long-running applications.