Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
mssql-python sürücüsünün her sürümü yeni özellikler, performans iyileştirmeleri ve hata düzeltmeleri getirir. Aşağıdaki bölümler her versiyonu detaylandırmaktadır.
MSSQL-python 1.12.0
Çıkış tarihi: Temmuz 2026
Geliştirmeler
Bağımsız mssql-python-odbc eşlik paketi
mssql-python’un çalışma zamanında ihtiyaç duyduğu ODBC sürücüsü ikili dosyaları artık ayrı, yalnızca veri içeren bir yardımcı paket olarak da yayımlanıyor: mssql-python-odbc (içe aktarma adı mssql_python_odbc, şu anda 18.6.2 sürümüne sabitlenmiş).
mssql-python paketi, install_requires içinde mssql-python-odbc==18.6.2’i bildirir; böylece pip install mssql-python, eşlik eden paketi onunla birlikte otomatik olarak yükler. Kod değişikliği gerekmez.
Yerel yükleyici, mevcut olduğunda harici mssql_python_odbc paketini tercih eder; mevcut olmadığında ise mssql-python wheel’ının içinde hâlâ paketlenmiş ODBC ikili dosyalarını kullanır. Yedek yöntem Python Global Interpreter Lock (GIL) ile güvenlidir ve Alpine gibi musl tabanlı Linux dağıtımlarında çalışır.
Bu bölünme, sürücü ikili dosyalarını Python kodundan bağımsız olarak sabitlemenize veya güncellemenize olanak tanır, yeniden dağıtıcılara zamanla daha küçük mssql-python bir tekerlek sağlar ve paketlenmiş ODBC dosyalarından kaynaklanan tekrarlayıcı sahiplik sorunlarını önler.
Önemli
Bu, gemileri kesintisiz bir değişiklik olmadan böldü. Gelecekteki bir ana sürümde (v2.0.0), paketle birlikte gelen libs/ ağacı kaldırılabilir; bu durumda mssql-python-odbc, çalışma zamanında zorunlu bir gereksinim hâline gelir.
Hata düzeltmeleri
cursor.bulkcopy() artık üst bağlantının bağlantı zaman aşımı süresini kullanıyor
Toplu kopyalama işlemi, mssql_py_core yerel uzantısı aracılığıyla ayrı bir bağlantı açar. Daha önce, bu işlem her zaman sabit kodlanmış 15 saniyelik bağlantı zaman aşımına sahip ve Python'dan geçersiz hale gelme imkânı yoktu. Eğer ana bağlantıda (connect(..., timeout=<seconds>)), bağlantı zaman aşımını belirlerseniz, bulkcopy() bu değeri dahili bağlantıya iletiyor.
timeout=0 olarak ayarlamak, geçersiz kılmama davranışını korur ve dahili 15 saniyelik varsayılanı sürdürür. Çağrı anında bulkcopy() imlecin zaman aşımlaması işlem için kullanılır, bu yüzden ana bağlantıdaki sonraki değişiklikler uçuş sırasında toplu kopyayı etkilemez.
Aşağıdaki örnek, Production.Culture örnek veritabanından arama tablosunu kullanır. Ortamınız için bağlantı dizesi ve veritabanı adını ayarlayın:
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() CLR kullanıcı tanımlı tip sütunlarını destekler
Daha önce, cursor.bulkcopy(), yerleşik geography, geometry ve hierarchyid türleri ile derlemeye kaydedilmiş herhangi bir özel CLR UDT dahil olmak üzere, ortak dil çalışma zamanı (CLR) kullanıcı tanımlı türü kullanan herhangi bir hedef sütun için Protocol Error: Unsupported TDS type for bulk copy: 0xF0 ile başarısız olurdu. Yerel mssql_py_core yolunda, UDT türü belirteci (0xF0) için bir işleyici yoktu ve herhangi bir satır gönderilmeden önce, sütun meta verileri yazılırken hata verdi. CLR UDT sütunları artık iletişimde varbinary(max) olarak eşlenir ve sağlanan baytlar, pyodbc ile python-tds'ün UDT sütunlarını yükleme biçimiyle uyumlu olarak, UDT'nin IBinarySerialize yükü şeklinde akışa alınır. SQL Server, UDT'yi insert sırasında gerçekleştirir.
mssql_py_core 0.1.6'dan 0.1.7'ye yükseltme ile sunuldu.
Aşağıdaki örnek, org-chart sütununu HumanResources.Employee (SQL Server'ın yerleşik CLR UDT'lerinden biri olan hiyerarşi sütunundan) yeni bir tabloya arşivler. Gerçek bir iş akışında, UDT baytları başka bir SQL Server örneğinden, seri dosyadan veya CLR tipinizin IBinarySerialize.Write() çıktısından gelebilir; bu örnek, bunları mevcut bir sütundan okurCAST(... AS varbinary(max)), böylece örnek kendi içinde kalır. Toplu kopyalama, OrganizationNode değeri NULL olan satırı içerir:
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")
Özel, derlemeye kaydedilmiş bir CLR UDT için hedef tablodaki türü kullanın ve türün IBinarySerialize.Write() yöntemi tarafından üretilen baytları sağlayın.
mssql-python 1.11.0
Çıkış tarihi: Temmuz 2026
Geliştirmeler
Geliştirilmiş bağlam yöneticisi semantiği
with connection: artık işlemleri sorunsuz çıkışta doğru şekilde onaylar ve bir istisna durumunda geri alır; böylece davranışı Python’a daha uygun ve daha öngörülebilir olur.
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
Hata düzeltmeleri
- ODBC kapatma yolunda (
conn.close()vecursor.close()) ve SSH tüneli ile süreç içi yönlendirici yapılandırmalarında,SQLDescribeParamdeğerine sahip parametreler içinNoneiçindeki GIL kilitlenmesi düzeltildi. - Geçici tablolarda ve tablo değişkenlerinde sabit
BINARYveVARBINARYNULL parametreler. Otomatik tip çözümlemesi başarısız olduğunda, sürücü artık açıkcursor.setinputsizes()rehberlikle bir Python uyarısı gönderir. - Apple Silicon’da temiz kurulumda
import mssql_pythonoluşan hata düzeltildi (1.8.0’daki bir regresyon). Paketlenmiş ODBC dylib bağımlılıkları artık hemarm64hem dex86_64mimariler için yeniden yazılmıştır. -
Authentication=ActiveDirectoryServicePrincipalile kimlik doğrulaması yapılırken toplu kopyalama işlemlerinin donmasına neden olan Rust çekirdeğindeki bir GIL kilitlenmesi giderildi.
mssql-python 1.10.0
Yayın tarihi: Haziran 2026
Geliştirmeler
ActiveDirectoryServicePrincipal toplu kopyalama desteği
cursor.bulkcopy() artık Authentication=ActiveDirectoryServicePrincipal destekliyor ve hizmet sorumlusu kimlik bilgilerini kullanarak toplu ekleme yapılmasına olanak tanıyor.
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")
Hata düzeltmeleri
- Arrow getirme yolundaki ASCII dışı
VARCHARveCHARveriler düzeltildi. - Toplu yükleme işlemleri sırasında bağlantı zaman aşımları düzeltildi.
mssql-python 1.9.0
Yayın tarihi: Haziran 2026
Geliştirmeler
Toplu kopyalamada satır nesneleri
cursor.bulkcopy() Artık alınan Row nesneleri doğrudan kabul eder, manuel tuple dönüşümü gerektirmez.
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")
Hata düzeltmeleri
- Sabit tekerlek ambalajı olduğu için
simdutfher zaman statik bağlantılıdır. -
DECIMALiçindeki büyükexecutemany()eklemeleri düzeltildi. - NULL parametreler için yanlış tür geri dönüşü düzeltildi.
- İstisnaların pickle ve unpickle işlemlerindeki gidiş-dönüş sorunu düzeltildi.
-
nextset(), sonuç kümeleri arasındaPRINTiletilerini koruyacak şekilde düzeltildi. - Veri-yürütme sırasında geri dönüş yolunda
Rowişleme düzeltildiexecutemany(). - Statik analiz araçları için fetch yönteminin tür denetimi düzeltildi.
MSSQL-python 1.8.0
Yayın tarihi: Mayıs 2026
Geliştirmeler
ActiveDirectoryMSI toplu kopyalama desteği
cursor.bulkcopy() Artık sistem tarafından atanan ve kullanıcı tarafından atanan yönetilen kimlikleri destekler Authentication=ActiveDirectoryMSI .
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")
Satır dize anahtarlı indeksleme
Artık satır değerlerine sütun adıyla erişebilirsiniz, örneğin row["col"], pozisyonsal indeksleme ve öznitelik erişimine ek olarak.
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
Paketlenmiş ODBC sürücü yükseltmesi
Pakette bulunan Microsoft ODBC Driver for SQL Server, 18.6.2.1 sürümüne güncellendi.
Hata düzeltmeleri
- Token tabanlı kimlik doğrulamada ertelenmiş bağlantı-öznitelik ömür sorunları düzeltildi.
- Kimlik doğrulama yolunda tekrarlanan bağlantı dizesi ayrıştırması düzeltildi.
- Dizi girişleri için sabit
executemany()tip notasyonlar.
mssql-python 1.7.1
Yayın tarihi: Mayıs 2026
Geliştirmeler
Genişletilmiş tekerlek kapsama alanı ve performans iyileştirmeleri
Bu sürüm, RHEL 8 uyumlu tekerlekler ekliyor, macOS Python 3.10 universal2 tekerleklerini geri getiriyor, UTF-16 yönetimini , simdutfile iyileştiriyor ve sıcak yolu optimize execute() ediyor.
Performans etkisi: Yöntemdeki execute() sıcak yol optimizasyonları sayesinde toplu yürütme verimliliği tipik iş yüklerinde ~15% artıyor.
Hata düzeltmeleri
- Oturum açma başarısızlıkları,
mssql_pythonyerineRuntimeErrorDB-API istisnaları oluşturacak şekilde düzeltildi. - ODBC yürütme, getirme, işlem ve bağlantı özniteliği çağrılarını engelleyen genişletilmiş GIL yayını.
- Ondalık değerler işaret değiştirdiğinde oluşan
executemany()hatalar düzeltildi. - Platformlar arasında tutarsız olan CP1252
VARCHARkod çözümlemesi düzeltildi. -
cursor.bulkcopy()veNVARCHAR(MAX)sütunlarındaki boş dizeler içinVARCHAR(MAX)hataları düzeltildi.
Note
Sürüm 1.7.0, yayın sorunları nedeniyle geri çekildi. 1.7.1 veya daha sonrasını kullanın.
MSSQL-python 1.6.0
Yayın tarihi: Nisan 2026
Geliştirmeler
Parser tabanlı bağlantı dizesi temizleme
Bu geliştirme, şifre alanlarındaki özel karakterlerin ve destekli değerlerin doğru ayrıştırılmasını sağlar.
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"
)
Bağlantı dizesi temizleme işlemi, ODBC bağlantı dizesi söz diziminin doğru şekilde işlenmesi için normal ifade tabanlı mantıktan ayrıştırıcı tabanlı işleme geçirildi.
Hata düzeltmeleri
- ODBC bağlantı ve bağlantı kesme işlemlerini engelleyen durumlarda GIL’in serbest bırakılması düzeltildi.
-
setinputsizes()SQL_DECIMALveSQL_NUMERICipuçlarıyla ilgili çökmeler düzeltildi. - ODBC katalog yöntemleri için yanlış
fetchone()davranış düzeltildi. -
reset_cursor=Falsekullanıldığında oluşan geçersiz imleç durumu hataları düzeltildi. - Haritalama tabanlı parametre dizileri için sabit
executemany()tip ipuçları. - için bir yol geçiş koruması
setup_logging(log_file_path=...)eklendi.
mssql-python 1.5.0
Yayın tarihi: Nisan 2026
Yeni özellikler
Apache Arrow destek getir
Üç yeni imleç yöntemi, Arrow C Veri Arayüzü üzerinden yüksek performanslı sütunlu veri alımını sağlar:
-
cursor.arrow()tam birpyarrow.Tabledöndürür. -
cursor.arrow_batch(), tek birpyarrow.RecordBatchdöndürür. -
cursor.arrow_reader(), akış için birpyarrow.RecordBatchReaderdöndürür.
Uygulama, performansı artırmak için sıcak yolda Python nesne oluşturmayı atlar. Tam dokümantasyon için Apache Arrow entegrasyonuna bakınız.
sql_variant türü desteği
Sürücü artık veri getirme sırasında sql_variant sütunlarını algılar, dayandıkları temel veri türünü belirler ve ham baytlar yerine doğru türde Python değerleri döndürür.
Note
sql_variant sütunları, sabit tipli sütunlara kıyasla performansı biraz etkileyebilen akış tabanlı bir getirme yolu kullanır.
Yerel UUID desteği
Yeni bir native_uuid ayarı, UNIQUEIDENTIFIER sütunlarının uuid.UUID nesneleri (varsayılan) olarak mı yoksa pyodbc ile uyumlu büyük harfli dizeler olarak mı döndürüleceğini kontrol eder. Modül seviyesinde veya bağlantı başına yapılandırın:
# 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)
Daha fazla bilgi için Modül yapılandırması bölümünü inceleyebilirsiniz.
Sıra sınıfı kamu ihracatı
Row sınıfı artık tür ek açıklamaları için üst düzeyde dışa aktarılıyor:
from mssql_python import Row
Hata düzeltmeleri
- Parantezli tanımlayıcılar, dize değişmezleri ve yorumlar içindeki yanlış pozitif
?algılaması düzeltildi. -
VARBINARYsütunları için NULL parametre bağlama düzeltildi (artık örtük dönüştürme hatalarına neden olmuyor). -
datetime.timeileTIME(1)arasındaki sütunlar için,TIME(7)değerlerinin gidiş-dönüşlerde mikrosaniyeleri kaybetmesi düzeltildi. -
TIMEsütunları için kesirli saniyelerin doğru şekilde dahil edilmesini sağlamak üzere Arrow alma yolu düzeltildi. - Microsoft Entra ID kimlik doğrulama yöntemleriyle toplu kopyalama düzeltildi (eski kimlik bilgileri alanları artık doğrulama hatalarına yol açmıyor).
- Kimlik doğrulama performansını artırmak için Azure Identity kimlik bilgisi örnekleri modül düzeyinde önbelleğe alındı.
MSSQL-python 1.4.0
Çıkış tarihi: Mart 2025
Yeni özellikler
Toplu kopya desteği
Yüksek performanslı toplu veri yükleme artık cursor.bulkcopy() aracılığıyla kullanılabilir:
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")
Yöntem, batch_size, timeout, column_mappings, keep_identity, check_constraints, table_lock, keep_nulls, fire_triggers ve use_internal_transaction için seçenekleri kabul eder.
Tam dokümantasyon için Toplu kopyaya bakınız.
Improvements
- Büyük sonuç kümeleri için performans optimizasyonları.
- Toplu işlemler sırasında bellek kullanımı azaldı.
- Toplu kopyalama hataları için geliştirilmiş hata mesajları.
mssql-python 1.3.0
Çıkış tarihi: Ocak 2025
Yeni özellikler
Ayarlar sınıfı
Yeni Settings sınıf üzerinden modül genelinde davranışı yapılandırmak:
import mssql_python
settings = mssql_python.get_settings()
settings.lowercase = True # Lowercase column names in cursor.description
Ayrıntılar için Modül yapılandırmasına bakın.
Improvements
- Azure SQL failover sırasında bağlantı zaman aşımının daha iyi yönetilmesi.
- Python 3.13 ile geliştirilmiş uyumluluk.
MSSQL-python 1.2.0
Çıkış tarihi: Kasım 2024
Yeni özellikler
Şema keşif yöntemleri
Veritabanı meta veri keşfi için yeni imleç yöntemleri:
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()
Tam dokümantasyon için Şema keşfine bakınız.
Improvements
- Tekrarlanan şema sorguları için geliştirilmiş meta veri önbelleği.
-
columns()sonuçlarında hesaplanan sütunlar için daha iyi işleme
MSSQL-python 1.1.0
Çıkış tarihi: Eylül 2024
Yeni özellikler
Özel çıkış dönüştürücüleri
Veri getirme sırasında sütun değerlerini dönüştürmek için özel işlevleri kaydedin:
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)
Yönetim yöntemleri:
add_output_converter(sql_type, converter_func)get_output_converter(sql_type)remove_output_converter(sql_type)clear_output_converters()
Tam dokümantasyon için bkz. Özel tip dönüştürücüler.
Improvements
- Tip dönüşümü hataları için daha iyi hata mesajları.
-
Nonedöndüren dönüştürücü işlevler için destek.
MSSQL-python 1.0.0
Çıkış tarihi: Temmuz 2024
İlk GA sürümü
Microsoft'un SQL Server için yerel Python sürücüsü olan mssql-python'un ilk genel erişilebilir sürümü.
Temel özellikler
- DDBC mimarisi: ODBC sürücü kurulumu gerektirmeden doğrudan veritabanı bağlantısı.
- DB-API 2.0 uyumluluğu: Standart Python veritabanı arayüzü.
- Bağlantı havuzlama: Yerleşik bağlantı havuzu yönetimi.
- Microsoft Entra doğrulama: Azure kimlik tabanlı kimlik doğrulama için tam destek.
- TLS şifreleme: Sertifika doğrulama ile güvenli bağlantılar.
Bağlantı özellikleri
- 21 bağlantı dizesi anahtar kelimesi.
- 9 kimlik doğrulama modu (SQL, Windows ve 7 Microsoft Entra ID yöntemi).
- Otomatik kaydetme denetimi.
- Uygulama yöntemleri:
execute(),executemany(), vebatch_execute(). -
set_attr()vegetinfo()aracılığıyla bağlantı özellikleri. - Bağlam yöneticisi desteği.
İmleç özellikleri
- Standart getirme yöntemleri:
fetchone(),fetchmany(),fetchall(). - Genişletilmiş yöntemler:
fetchval(),skip(). - Uygulama yöntemleri:
execute()veexecutemany(). - Öznitelik ve indeks erişimine sahip satır nesneler.
- Birden çok sonuç kümesinde
nextset()ile gezinme.
Veri türü desteği
- Tüm SQL Server yerel tipleri.
- Python↔SQL tür eşlemeleri.
- Açık tipleme için SQL tip sabitleri (örneğin,
mssql_python.SQL_DECIMAL). - Python
Noneolarak NULL işleme.
İşlem desteği
- El ile kesinleştirme ve geri alma.
- Otomatik kesinleştirme modu.
- İzolasyon seviyesi kontrolü.
- Kilitlenme tespiti ve giderme.
Kimlik doğrulama modları
| Mode | Açıklama |
|---|---|
| SQL Server kimlik doğrulaması | Kullanıcı adı ve parola |
| Windows kimlik doğrulaması | Trusted_Connection |
| ActiveDirectoryDefault | DefaultAzureCredential |
| ActiveDirectoryInteractive | Tarayıcı tabanlı giriş |
| ActiveDirectoryDeviceCode | Cihaz kodu akışı |
| Active Directory Parolası | Microsoft Entra kullanıcı adı ve şifresi (kullanımdan kaldırılmıştır; ROPC kullanır) |
| ActiveDirectoryMSI | İdare edilen kimlik |
| ActiveDirectoryServicePrincipal | Servis Principal |
| ActiveDirectoryIntegrated | Windows Kerberos |
Upgrade
pyodbc'den
Ayrıntılı geçiş yönergeleri için pyodbc'den geçiş yapma bölümüne bakın.
Önemli farklar:
- Hem
?(qmark) hem de%(name)s(pyformat) parametre stilleri desteklenmektedir. Mevcut?sorgularınız değişmeden çalışıyor. -
callproc()yöntem yok. Bunun yerineEXECUTEkomutlarını kullanın. - Yerleşik bağlantı havuzlaması.
- Harici ODBC sürücü bağımlılığı yok.
pymssql'den
Detaylı göç rehberliği için bkz. Migrate from pymssql.
Önemli farklar:
- Parametre işaretleyicilerini
%s%dveya?ile değiştirin%(name)s. - Konumsal argümanlar yerine bağlantı dizesi kullanın.
- FreeTDS bağımlılığı yok.
- Her bağlantı için birden fazla eşzamanlı imleç.
- Öznitelik erişimine sahip satır nesneleri,
as_dict=Trueöğesinin yerini alır.
mssql-python sürümleri arasında
Sürücüyü yükselterek yeni özellikler ve düzeltmeler elde edin.
pip install --upgrade mssql-python
Üretim sistemlerini yükseltmeden önce geriye dönük uyumluluğu bozan değişiklikler olup olmadığını öğrenmek için sürüm notlarını kontrol edin.
Yol Haritası
Yaklaşan özellikler ve geliştirme yol haritası için GitHub deposuna bakınız.