Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Elke release van de mssql-python-driver introduceert nieuwe functies, prestatieverbeteringen en bugfixes. De volgende secties beschrijven elke versie.
mssql-python 1.12.0
Releasedatum: juli 2026
Enhancements
Losstaand mssql-python-odbc aanvullend pakket
De ODBC-driverbinaries die mssql-python tijdens uitvoering nodig heeft, worden nu ook als een apart, alleen-data begeleidend pakket gepubliceerd: mssql-python-odbc (importnaam mssql_python_odbc, momenteel vastgezet op versie 18.6.2). Het pakket mssql-python geeft mssql-python-odbc==18.6.2 op in install_requires, dus pip install mssql-python installeert het begeleidende pakket transparant mee. Er zijn geen codewijzigingen vereist.
De native loader geeft de voorkeur aan het externe mssql_python_odbc pakket wanneer het aanwezig is, en valt terug op de ODBC-binaries die nog steeds in het mssql-python wiel zitten als dat niet zo is. De fallback is veilig met de Python Global Interpreter Lock (GIL) en werkt op musl-gebaseerde Linux-distributies zoals Alpine.
Deze splitsing stelt je in staat de driver-binaries onafhankelijk van de Python-code vast te pen of bij te werken, geeft redistributeurs een kleiner mssql-python wiel in de loop van de tijd en voorkomt problemen met dubbel eigendom door gebundelde ODBC-bestanden.
Important
Deze split wordt geleverd zonder een niet-compatibele wijziging. In een toekomstige grote release (v2.0.0) kan de gebundelde libs/ boom worden verwijderd, in welk geval mssql-python-odbc het een harde runtime-vereiste wordt.
Fouten opgelost
cursor.bulkcopy() gebruikt nu de verbindingstimeout van de ouderverbinding
De bulkkopie-operatie opent een aparte verbinding via de mssql_py_core native extensie. Voorheen gebruikte deze operatie altijd een hardgecodeerde verbindingstimeout van 15 seconden zonder mogelijkheid om deze vanuit Python te overschrijven. Als je een verbindingstimeout instelt op de ouderverbinding (connect(..., timeout=<seconds>)), bulkcopy() stuurt die waarde nu door naar de interne verbinding. Door het instellen timeout=0 behoudt het geen override-gedrag en blijft de interne standaard van 15 seconden behouden. De timeout van de cursor op het moment van het bulkcopy() gesprek wordt gebruikt voor de operatie, zodat latere wijzigingen aan de ouderverbinding geen invloed hebben op een bulkkopie tijdens de vlucht.
Het volgende voorbeeld gebruikt de Production.Culture opzoektabel uit de AdventureWorks-voorbeelddatabase . Pas de verbindingsreeks en databasenaam voor je omgeving aan:
import mssql_python
from datetime import datetime
# The 60-second timeout applies to both the initial connection and
# the internal connection that bulkcopy() opens.
conn = mssql_python.connect(
"Server=<server>;"
"Database=AdventureWorks2022;"
"Encrypt=yes",
timeout=60,
)
conn.autocommit = True
cursor = conn.cursor()
# Bulk-copy two rows into Production.Culture (CultureID, Name, ModifiedDate).
now = datetime.now()
rows = [
("xx", "Demo culture 1", now),
("yy", "Demo culture 2", now),
]
result = cursor.bulkcopy("Production.Culture", rows)
print(f"Copied {result['rows_copied']} rows")
# Remove the demo rows so the sample is re-runnable.
cursor.execute("DELETE FROM Production.Culture WHERE CultureID IN ('xx','yy')")
cursor.bulkcopy() ondersteunt CLR-door de gebruiker gedefinieerde typekolommen
Voorheen mislukte cursor.bulkcopy() met Protocol Error: Unsupported TDS type for bulk copy: 0xF0 voor elke bestemmingskolom die gebruikmaakte van een door de gebruiker gedefinieerd Common Language Runtime-type (CLR), met inbegrip van de ingebouwde typen geography, geometry en hierarchyid, en van elke aangepaste, in een assembly geregistreerde CLR-UDT. Het native mssql_py_core communicatiepad had geen verwerker voor het UDT-typetoken (0xF0) en resulteerde in een fout bij het schrijven van kolommetadata, voordat er ook maar één rij was verzonden. CLR UDT-kolommen worden nu tijdens overdracht gekoppeld aan varbinary(max), en de meegeleverde bytes worden doorgegeven als de payload van de UDT in IBinarySerialize, overeenkomstig de manier waarop pyodbc en python-tds UDT-kolommen laden. SQL Server materialiseert de UDT bij het invoegen. Geleverd via de mssql_py_core verhoging van 0.1.6 naar 0.1.7.
Het volgende voorbeeld archiveert de organigramkolom van HumanResources.Employee (een hierarchyid-kolom, een van de ingebouwde CLR UDT's van SQL Server) naar een nieuwe tabel. In een echte workflow kunnen de UDT-bytes afkomstig zijn van een andere SQL Server-instantie, een geserialiseerd bestand of de uitvoer van uw CLR-type IBinarySerialize.Write(); dit voorbeeld leest deze via CAST(... AS varbinary(max)) uit een bestaande kolom, zodat het voorbeeld op zichzelf staat. De bulkcopy bevat de rij waarbij OrganizationNode NULL is:
import mssql_python
conn = mssql_python.connect(
"Server=<server>;"
"Database=AdventureWorks2022;"
"Encrypt=yes",
)
conn.autocommit = True # bulkcopy uses a separate connection; the destination must be visible
cursor = conn.cursor()
cursor.execute(
"IF OBJECT_ID('dbo.EmployeeOrgArchive','U') IS NOT NULL "
"DROP TABLE dbo.EmployeeOrgArchive;"
"CREATE TABLE dbo.EmployeeOrgArchive (BusinessEntityID int, OrganizationNode hierarchyid);"
)
# Casting a hierarchyid column to varbinary(max) yields the UDT's
# serialized IBinarySerialize payload.
cursor.execute(
"SELECT BusinessEntityID, CAST(OrganizationNode AS varbinary(max)) "
"FROM HumanResources.Employee;"
)
rows = cursor.fetchall()
# Stream the (id, bytes) tuples into the destination's hierarchyid column.
result = cursor.bulkcopy("dbo.EmployeeOrgArchive", rows)
print(f"Copied {result['rows_copied']} rows")
cursor.execute("DROP TABLE dbo.EmployeeOrgArchive")
Voor een aangepaste, in assembly geregistreerde CLR UDT, gebruik je het type in de doeltabel en geef je de bytes op die worden geproduceerd door de IBinarySerialize.Write()-methode van het type.
mssql-python 1.11.0
Releasedatum: juli 2026
Enhancements
Verbeterde contextmanager-semantiek
with connection: bevestigt transacties nu correct bij een normale afsluiting en draait ze terug als er een uitzondering optreedt, waardoor het gedrag meer in lijn is met Python en voorspelbaarder wordt.
import mssql_python
# On clean exit, transaction commits
with mssql_python.connect(connection_string) as conn:
cursor = conn.cursor()
cursor.execute("INSERT INTO MyTable (Name) VALUES ('Alice')")
# Automatically committed on exit
# On exception, transaction rolls back
try:
with mssql_python.connect(connection_string) as conn:
cursor = conn.cursor()
cursor.execute("INSERT INTO MyTable (Name) VALUES ('Bob')")
raise ValueError("Oops!")
except ValueError:
pass
# Changes rolled back on exit
Fouten opgelost
- Een GIL-deadlock in het ODBC-afbouwpad (
conn.close()encursor.close()) en inSQLDescribeParamvoor parameters met de waardeNonein SSH-tunnel- en in-process-forwarderconfiguraties opgelost. - Vaste
BINARYenVARBINARYNULL-parameters in tijdelijke tabellen en tabelvariabelen. Wanneer automatische typeresolutie faalt, geeft de driver nu een Python-waarschuwing met explicietecursor.setinputsizes()richtlijnen. - Probleem opgelost waarbij
import mssql_pythonfaalde op Apple Silicon bij een schone installatie (regressie in 1.8.0). De gebundelde ODBC dylib-afhankelijkheden zijn nu herschreven voor zowelarm64enx86_64architecturen. - Er is een GIL-deadlock in de Rust-kern opgelost waardoor bulkkopieën vastliepen bij authenticatie met
Authentication=ActiveDirectoryServicePrincipal.
mssql-python 1.10.0
Releasedatum: juni 2026
Enhancements
ActiveDirectoryServicePrincipal-ondersteuning voor bulkkopieën
cursor.bulkcopy() ondersteunt nu Authentication=ActiveDirectoryServicePrincipal, waardoor bulkinserts mogelijk zijn door gebruik te maken van Service Principal-credentials.
import mssql_python
conn = mssql_python.connect(
"Server=<server>.database.windows.net;"
"Database=<database>;"
"Authentication=ActiveDirectoryServicePrincipal;"
"UID=<application-client-id>;"
"PWD=<client-secret>;"
"Encrypt=yes"
)
cursor = conn.cursor()
cursor.execute("CREATE TABLE ##SpDemo (ID INT, Value FLOAT)")
conn.commit()
result = cursor.bulkcopy("##SpDemo", [(1, 1.5), (2, 2.5)])
print(f"Copied {result['rows_copied']} rows")
Fouten opgelost
- Problemen met niet-ASCII-gegevens in het Arrow-ophaalpad voor
VARCHARenCHARzijn opgelost. - Vaste verbindingstime-outs tijdens bulkbelasting.
mssql-python 1.9.0
Releasedatum: juni 2026
Enhancements
Rijobjecten bulkkopiëren
cursor.bulkcopy() accepteert nu direct gehaalde Row objecten in plaats van handmatige tuple-conversie te vereisen.
import mssql_python
conn = mssql_python.connect(connection_string)
cursor = conn.cursor()
# Fetch rows from source table
cursor.execute("SELECT ProductID, Name, ListPrice FROM Production.Product")
rows = cursor.fetchall()
# Pass fetched Row objects directly to bulkcopy
cursor.execute("CREATE TABLE ##RowBulkDemo (ProductID INT, Name NVARCHAR(50), ListPrice MONEY)")
conn.commit()
result = cursor.bulkcopy("##RowBulkDemo", rows)
print(f"Copied {result['rows_copied']} rows")
Fouten opgelost
- Vaste wielverpakking, dus
simdutfaltijd statisch gekoppeld. - Grote inserts opgelost in
DECIMAL. - Onjuiste typefallback voor NULL-parameters opgelost.
- Vaste uitzonderingen voor pickle en unpickle retourritten.
- Probleem opgelost in
nextset(), zodatPRINT-berichten tussen resultaatsets heen behouden blijven. - Probleem met de afhandeling van
Rowopgelost in het fallback-pad voorexecutemany()data-at-execution. - Vaste typecontrole van de fetch-methode voor statische analysetools.
mssql-python 1.8.0
Releasedatum: mei 2026
Enhancements
ActiveDirectoryMSI-ondersteuning voor bulkkopieën
cursor.bulkcopy() ondersteunt nu Authentication=ActiveDirectoryMSI voor door het systeem toegewezen en door de gebruiker toegewezen beheerde identiteiten.
import mssql_python
# System-assigned managed identity
conn = mssql_python.connect(
"Server=<server>.database.windows.net;"
"Database=<database>;"
"Authentication=ActiveDirectoryMSI;"
"Encrypt=yes"
)
cursor = conn.cursor()
cursor.execute("CREATE TABLE ##MsiDemo (ID INT, Name NVARCHAR(50))")
conn.commit()
result = cursor.bulkcopy("##MsiDemo", [(1, "Alice"), (2, "Bob")])
print(f"Copied {result['rows_copied']} rows")
Rijindexering met tekenreekssleutel
Je kunt nu rijwaarden bijvoorbeeld op kolomnaam row["col"]benaderen , naast positionele indexering en attribuuttoegang.
import mssql_python
conn = mssql_python.connect(connection_string)
cursor = conn.cursor()
cursor.execute("SELECT ProductID, Name, ListPrice FROM Production.Product WHERE ProductID = 1")
row = cursor.fetchone()
# Access by column name (new in 1.8.0)
print(row["ProductID"]) # Access by key
print(row["Name"])
# Still supports positional indexing
print(row[0]) # Positional access
# And attribute access
print(row.Name) # Attribute access
Upgrade van de meegeleverde ODBC-driver
De meegeleverde Microsoft ODBC-driver voor SQL Server werd bijgewerkt naar 18.6.2.1.
Fouten opgelost
- Problemen met de levensduur van het uitgestelde verbindingsattribuut in tokengebaseerde authenticatie opgelost.
- Herhaald parseren van verbindingsreeksen in het authenticatiepad is opgelost.
- Vaste
executemany()type annotaties voor sequentie-invoer.
mssql-python 1.7.1
Releasedatum: mei 2026
Enhancements
Uitgebreide wieldekking en prestatieverbeteringen
Deze release voegt RHEL 8-compatibele wielen toe, herstelt macOS Python 3.10 universal2 wielen, verbetert de UTF-16 handling via simdutf, en optimaliseert het execute() hot path.
Prestatie-impact: De batchuitvoeringsdoorvoer verbetert met ~15% op typische workloads door hot path-optimalisaties in de execute() methode.
Fouten opgelost
- Fouten bij het aanmelden opgelost, zodat deze
mssql_pythonDB-API-uitzonderingen genereren in plaats vanRuntimeError. - Verlengde GIL-release over het blokkeren van ODBC-uitvoering, fetch, transactie en verbindingsattribuutaanroepen.
- Problemen met
executemany()opgelost wanneer decimale waarden van teken veranderen. - Inconsistente decodering van CP1252
VARCHARop verschillende platforms opgelost. -
cursor.bulkcopy()-fouten voor lege tekenreeksen in kolommenNVARCHAR(MAX)enVARCHAR(MAX)opgelost.
Opmerking
Versie 1.7.0 werd ingetrokken vanwege publicatieproblemen. Gebruik versie 1.7.1 of later.
mssql-python 1.6.0
Releasedatum: april 2026
Enhancements
Op parser gebaseerde opschoning van verbindingsreeksen
Deze verbetering zorgt voor correcte parsing van speciale tekens in wachtwoordvelden en versterkte waarden.
import mssql_python
# Complex passwords with special characters now parse correctly
conn = mssql_python.connect(
"Server=<server>.database.windows.net;"
"Database=<database>;"
"UID=user@contoso;"
"PWD={p@ssw0rd;with{braces}};" # Braced values now handled correctly
"Encrypt=yes"
)
Connection string sanitization is overgestapt van regex-gebaseerde logica naar parser-gebaseerde verwerking voor correcte afhandeling van ODBC-verbindingsreeks-syntaxis.
Fouten opgelost
- GIL-release gerepareerd tijdens het blokkeren van ODBC-verbindingen en -ontkoppelingen.
- Crashproblemen met
setinputsizes()enSQL_DECIMALhintsSQL_NUMERICopgelost. - Onjuist
fetchone()gedrag voor ODBC-catalogusmethoden is gecorrigeerd. - Fouten met een ongeldige cursorstatus opgelost wanneer
reset_cursor=Falsewordt gebruikt. - Vaste
executemany()type hints voor mapping-gebaseerde parameterreeksen. - Een paddoorloopbeveiliging toegevoegd voor
setup_logging(log_file_path=...).
mssql-python 1.5.0
Releasedatum: april 2026
Nieuwe functies
Ondersteuning voor het ophalen van Apache Arrow
Drie nieuwe cursormethoden bieden hoogpresterende kolomgegevensopvraging via de Arrow C Data Interface:
-
cursor.arrow()geeft een volledigepyarrow.Tableterug. -
cursor.arrow_batch()geeft een enkelepyarrow.RecordBatchterug. -
cursor.arrow_reader()geeft eenpyarrow.RecordBatchReaderterug voor streaming.
De implementatie omzeilt het aanmaken van Python-objecten in het hot path voor betere prestaties. Voor volledige documentatie, zie Apache Arrow-integratie.
ondersteuning voor het type sql_variant
De driver detecteert sql_variant nu kolommen tijdens het ophalen, lost hun onderliggende basistype op en levert correct getypte Python-waarden terug in plaats van ruwe bytes.
Opmerking
sql_variant kolommen gebruiken een streaming-ophaalpad, wat de prestaties enigszins kan beïnvloeden in vergelijking met kolommen met een vast type.
Ingebouwde UUID-ondersteuning
Een nieuwe native_uuid instelling bepaalt of UNIQUEIDENTIFIER kolommen worden teruggegeven als uuid.UUID objecten (standaard) of als pyodbc-compatibele hoofdletterstrings. Configureer het op moduleniveau of per verbinding:
# Module-level default
settings = mssql_python.get_settings()
settings.native_uuid = True # default
# Per-connection override
conn = mssql_python.connect(connection_string, native_uuid=False)
Voor meer informatie, zie Moduleconfiguratie.
Rijklasse openbare export
De Row klasse wordt nu op het hoogste niveau geëxporteerd voor type-annotaties:
from mssql_python import Row
Fouten opgelost
- Opgelost: onjuiste detectie van
?binnen tussen vierkante haken geplaatste identifiers, stringliteralen en commentaar. - Vaste NULL-parameterbinding voor
VARBINARYkolommen (veroorzaakt geen impliciete conversiefouten meer). - Vaste
datetime.timewaarden waarbij microseconden verloren gaan bij retouren voorTIME(1)doorgaandeTIME(7)kolommen. - Ophaalpad voor Arrow gecorrigeerd zodat fracties van seconden correct worden opgenomen voor
TIME-kolommen. - Opgeloste bulkkopie met Microsoft Entra ID-authenticatiemethoden (verouderde inloggegevens veroorzaken geen validatiefouten meer).
- Azure Identity-credential-instanties op moduleniveau gecachet voor verbeterde authenticatieprestaties.
mssql-python 1.4.0
Releasedatum: maart 2025
Nieuwe functies
Ondersteuning voor bulkkopieën
Snel bulkladen van gegevens is nu beschikbaar via cursor.bulkcopy():
import mssql_python
conn = mssql_python.connect(connection_string)
cursor = conn.cursor()
cursor.execute("CREATE TABLE ##BulkDemo (ID INT, Name NVARCHAR(50), Price DECIMAL(10,2))")
conn.commit()
data = [
(1, "Item 1", 10.50),
(2, "Item 2", 20.75),
# ... potentially millions of rows
]
result = cursor.bulkcopy("##BulkDemo", data)
print(f"Copied {result['rows_copied']} rows")
De methode accepteert opties voor batch_size, timeout, , column_mappings, keep_identity, check_constraints, table_lockkeep_nulls, , fire_triggers, en use_internal_transaction.
Zie Bulk copy voor volledige documentatie.
Improvements
- Prestatieoptimalisaties voor grote resultatensets.
- Verminderd geheugengebruik tijdens batchbewerkingen.
- Verbeterde foutmeldingen voor mislukte bulk-kopieeracties.
mssql-python 1.3.0
Releasedatum: januari 2025
Nieuwe functies
Settings-klasse
Configureer module-breed gedrag via de nieuwe Settings klasse:
import mssql_python
settings = mssql_python.get_settings()
settings.lowercase = True # Lowercase column names in cursor.description
Zie Moduleconfiguratie voor details.
Improvements
- Betere afhandeling van verbindingstimeout tijdens Azure SQL failover.
- Verbeterde compatibiliteit met Python 3.13.
mssql-python 1.2.0
Releasedatum: november 2024
Nieuwe functies
Methoden voor schema-ontdekking
Nieuwe cursormethoden voor het verkennen van metadata in databases:
cursor = conn.cursor()
# List all tables
cursor.tables(schema="dbo")
# Get column information
cursor.columns(table="Product", schema="Production")
# Get primary keys
cursor.primaryKeys(table="Product", schema="Production")
# Get foreign key relationships
cursor.foreignKeys(table="SalesOrderDetail", schema="Sales")
# Get stored procedures
cursor.procedures(schema="dbo")
# Get index statistics
cursor.statistics(table="Product", schema="Production")
# Get type information
cursor.getTypeInfo()
Zie Schema-ontdekking voor volledige documentatie.
Improvements
- Verbeterde metadata-caching voor herhaalde schema-query's.
- Betere verwerking van berekende kolommen in
columns()-resultaten.
mssql-python 1.1.0
Releasedatum: september 2024
Nieuwe functies
Aangepaste uitgangsomzetters
Registreer aangepaste functies om kolomwaarden te transformeren tijdens het ophalen:
import mssql_python
from decimal import Decimal
conn = mssql_python.connect(connection_string)
# Convert decimals to float (converter receives Decimal)
def decimal_to_float(value):
if value is None:
return None
return float(value) # value is already a Decimal object
conn.add_output_converter(mssql_python.SQL_DECIMAL, decimal_to_float)
# Custom money formatting
def format_money(value):
if value is None:
return "$0.00"
return f"${float(value):,.2f}" # value is already a Decimal object
conn.add_output_converter(mssql_python.SQL_DECIMAL, format_money)
Beheermethoden:
add_output_converter(sql_type, converter_func)get_output_converter(sql_type)remove_output_converter(sql_type)clear_output_converters()
Voor volledige documentatie, zie Custom type converters.
Improvements
- Betere foutmeldingen voor mislukte typeconversies.
- Ondersteuning voor converterfuncties die
Noneretourneren.
mssql-python 1.0.0
Releasedatum: juli 2024
Eerste GA-release
De eerste algemene beschikbaarheidsrelease van mssql-python, Microsoft's native Python-driver voor SQL Server.
Kernfuncties
- DDBC-architectuur: Directe databaseconnectiviteit zonder ODBC-driverinstallatie te vereisen.
- DB-API 2.0-conformiteit: Standaard Python database-interface.
- Verbindingspooling: Ingebouwd beheer van de verbindingspool.
- Microsoft Entra-authenticatie: Volledige ondersteuning voor Azure-identiteitsgebaseerde authenticatie.
- TLS-encryptie: Beveiligde verbindingen met certificaatvalidatie.
Verbindingsmogelijkheden
- 21 verbindingsreeks-zoekwoorden.
- 9 authenticatiemodi (SQL, Windows en 7 Microsoft Entra ID-methoden).
- Autocommitbeheer.
- Uitvoeringsmethoden:
execute(),executemany(), enbatch_execute(). - Verbindingsattributen via
set_attr()engetinfo(). - Ondersteuning voor contextmanagers.
Cursorkenmerken
- Standaard fetchmethoden:
fetchone(),fetchmany(), .fetchall() - Uitgebreide methoden:
fetchval(),skip(). - Uitvoeringsmethoden:
execute()enexecutemany(). - Rijobjecten met attribuut- en indextoegang.
- Navigatie met meerdere resultaatsets met
nextset().
Ondersteuning voor gegevenstypen
- Alle systeemeigen typen van SQL Server.
- Python↔SQL-typetoewijzingen.
- SQL-typeconstanten voor expliciete typering (bijvoorbeeld,
mssql_python.SQL_DECIMAL). - NULL-afhandeling als Python
None.
Transactieondersteuning
- Handmatig vastleggen en terugdraaien.
- Autocommit-modus.
- Isolatieniveaucontrole.
- Deadlock-detectie en -hantering.
Verificatiemodi
| Mode | Beschrijving |
|---|---|
| SQL Server-authenticatie | Gebruikersnaam en wachtwoord |
| Windows authentication | Trusted_Connection |
| ActiveDirectoryDefault | DefaultAzureCredential |
| ActiveDirectoryInteractive | Browsergebaseerde aanmelding |
| ActiveDirectoryDeviceCode | Apparaatcodestroomproces |
| ActiveDirectoryPassword | Microsoft Entra gebruikersnaam en wachtwoord (verouderd; gebruikt ROPC) |
| ActiveDirectoryMSI | Beheerde identiteit |
| ActiveDirectoryServicePrincipal | Service Principal |
| ActiveDirectoryIntegrated | Windows Kerberos |
Upgrade
Afkomstig van pyodbc
Voor gedetailleerde migratierichtlijnen, zie Migreren van pyodbc.
Belangrijkste verschillen:
- Zowel
?(qmark) als%(name)s(pyformat) parameterstijlen worden ondersteund. Je bestaande?queries werken zonder wijzigingen. - Geen methode
callproc(). GebruikEXECUTEin plaats daarvan statements. - Ingebouwde verbindingspooling.
- Geen externe ODBC-driverafhankelijkheid.
Uit pymssql
Voor gedetailleerde migratierichtlijnen, zie Migreren van pymssql.
Belangrijkste verschillen:
- Vervang de parameteraanduidingen
%sen%ddoor?of%(name)s. - Gebruik een verbindingsreeks in plaats van positionele argumenten.
- Geen FreeTDS-afhankelijkheid.
- Meerdere gelijktijdige cursors per verbinding.
- Rijobjecten met attribuuttoegang vervangen
as_dict=True.
Tussen versies van mssql-python
Upgrade de driver om nieuwe functies en oplossingen te krijgen.
pip install --upgrade mssql-python
Bekijk de release notes op eventuele breaking changes voordat je de productiesystemen upgradet.
Roadmap
Voor aankomende functies en de ontwikkelingsroute, zie de GitHub-repository.