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.
Bu makale, mssql-python sürücüsünün her sürümünde nelerin değiştiğini ve en yeni olanları ilk olarak listeliyor. Her bölüm, bir versiyon için yeni özellikler, davranış değişiklikleri ve hata düzeltmelerini kapsar.
Microsoft'un şu anda desteklediği sürümler için bkz. Destek yaşam döngüsü.
mssql-python 1.14.0
Çıkış tarihi: Ağustos 2026
Geliştirmeler
Parametre tespiti ve bağlama yerel kodda çalışır
Parametre tipi algılama ve bağlama artık parametre başına Python çağrıları yerine tek bir yerel boru hattında çalışıyor. Bu değişiklik, büyük operasyonlarda, örneğin toplu insertlerde, uçtan uca daha yüksek performans artışlarıyla önemli bir performans darboğazını gideriyor. Başvuru değişikliğine gerek yok.
Hata düzeltmeleri
timeout Doğrulama zaman aşımı yerine sorgu zaman aşımını ayarlamak connect() için kullanılan argüman
timeout bağımsız değişkeni artık SQL_ATTR_LOGIN_TIMEOUT değerini ayarlar ve kimlik doğrulama denemesini sınırlar; argümanın adı ve belgelerdeki açıklama da bunu ifade eder. Önceki sürümlerde bu, ifade başına sorgu zaman aşımına dönüşüyordu, bu connect(timeout=30) yüzden bağlantı girişiminin ne kadar süreyle çalışabileceğini sınırlamıyordu ve sorgular 30 saniye sonra iptal ediliyordu. Her deyim için sorgu zaman aşımı, Connection.timeout özelliği olarak kullanılabilir olmaya devam eder.
Önemli
Uzun süren sorguları iptal etmek için timeout öğesini connect() öğesine ilettiyseniz, bu davranış artık gerçekleşmez. Bunun yerine Connection.timeout olarak ayarlayın. Aynı durum, bulkcopy()’in dahili bağlantısı için kullandığı bağlantı zaman aşımı süresini artırmak üzere connect(timeout=)’a güveniyorsanız da geçerlidir: imleci oluşturmadan önce Connection.timeout ayarlayın.
Daha fazla bilgi için Bağlantı Zaman Aşımı bölümüne bakınız.
bulkcopy() reddedildi timeout=0
0 değerindeki bir timeout, 0 altyapıdaki toplu kopyalama API’sinde zaman aşımı olmadığı anlamına geldiği hâlde, doğrulama hatasına neden oldu. Yöntem artık işlem zaman aşımını kabul 0 ediyor ve devre dışı bırakıyor. Negatif, tam sayısız ve boolean değerler hâlâ reddedilmektedir.
Daha fazla bilgi için Toplu kopyalama bölümüne bakın.
Temizlik, orijinal Arrow getirme istisnasının yerini aldı
Arrow okuyucusundan veri getirme işlemi başarısız olduğunda, sürücünün temizleme aşaması özgün hatanın yerine geçen ikinci bir hata oluşturdu; bu nedenle çağıran taraf, getirmenin neden başarısız olduğunu değil, bir temizleme hatası gördü. Temizleme artık önce imlecin durumunu kontrol ediyor ve orijinal istisnayı koruyor.
executemany() ondalık dönüşüm hataları parametre değerlerini içeriyordu
executemany() içindeki bir ondalık dönüştürme hatası, zincirleme istisna aracılığıyla sorunlu değeri bildirdi; bu da müşteri verilerinin uygulama günlüklerine ve izleme sistemlerine düşmesine neden olabilirdi. Hata artık sadece satır indeksini, sütun indeksini ve değer türünü bildiriyor.
Daha fazla bilgi için bkz. Hata işleme.
Toplu kopyası reddedilen Arrow View türleri
bulkcopy_arrow(), değişken uzunluktaki Arrow View dizilerini işleyemiyordu; bu nedenle Polars string_view sütunlarının önce DataFrame.to_arrow() ile dönüştürülmesi gerekiyordu. String View değerleri ve NULL'lar artık doğrudan Arrow C Veri Arayüzü'nden geçer.
Daha fazla bilgi için Polars entegrasyonuna bakınız.
Windows uzantısı yüklemesi ana CPU mimarisini kullandı
Windows'ta sürücü, çalışan yorumlayıcı yerine ana bilgisayar CPU'suna göre yerel uzantısını seçti, böylece bir ARM64 ana bilgisayarında x64 Python bir yedek yol üzerinden yüklendi ve stdout'a bildirimler yazdı. Yükleyici artık mimariyi yorumlayıcıdan belirler ve geri dönüşleri uyarı olarak bildirir.
MSSQL-python 1.13.0
Çıkış tarihi: Ağustos 2026
Geliştirmeler
ODBC sürücüsü ikili dosyaları yalnızca mssql-python-odbc içinde sunulur
Sürüm 1.13.0, libs/ wheel’inden mssql-python geri dönüşünü kaldırır ve install_requires içinde mssql-python-odbc==18.6.2.1’yi bildirir. Komut pip install mssql-python hâlâ çalışan bir sürücü üretir.
--no-deps ile kurulum yaparken veya onu yansıtmayan özel bir indeksten kurarken, mssql-python-odbc bileşenini açıkça yükleyin.
Daha fazla bilgi için bkz . Yükleme.
Apache Arrow kaynaklarından toplu kopya
Yeni cursor.bulkcopy_arrow() yöntem, zaten Apache Arrow formatında olan verileri yüklüyor, her satırı önce Python nesnesine dönüştürmeden. Bir Arrow kaynağını bulkcopy() konumuna geçirmek artık TypeError hatasını verir.
Daha fazla bilgi için Apache Arrow entegrasyonu ve Toplu kopya bölümlerine bakınız.
token_providerMicrosoft Entra kimlik bilgileri için parametre
connect() işlevi ve Connection sınıfı bir token_provider bağımsız değişkenini kabul eder; bu nedenle, bağlantı dizesinde bir kimlik doğrulama modu belirtmek yerine DefaultAzureCredential gibi bir kimlik bilgisi nesnesi geçirebilirsiniz. Bu bağımsız değişken, attrs_before anahtar sözcüğüyle ve Authentication aracılığıyla iletilen belirteçlerle karşılıklı olarak birbirini dışlar ve yalnızca Azure ticari bulut kapsamını destekler.
Daha fazla bilgi için bkz . Microsoft Entra kimlik doğrulaması.
Kimlik bilgisine duyarlı bağlantı havuzu
Bağlantı havuzu artık bağlantıları Microsoft Entra kimliğine göre ayırıyor. Önceki sürümlerde havuz yalnızca bağlantı dizesine göre ayrılıyordu; bu nedenle havuz, bir kullanıcı adına kimliği doğrulanmış bir bağlantıyı başka bir kullanıcının yaptığı bir isteğe verebiliyordu. Sürücü ayrıca yalnızca bir bağlantı isteği havuzdan karşılanamadığında bir token edinir ve token’ın süresinin dolmasına 5 dakikadan az kaldığında havuzdaki bağlantıyı yeniler.
Daha fazla bilgi için Bağlantı havuzlaması bölümünü inceleyin.
Hata düzeltmeleri
executemany() NULL'lar ilk satırdan sonra belirdiğinde sıfır satır eklendi
NULL olmayan ve NULL sayısal değerler içeren bir executemany() çağrısı, ilk NULL değeri ilk satırdan sonra ortaya çıktığında hiç satır eklemedi ve herhangi bir istisna oluşturmadı. Bu davranış tinyint, smallint, int ve float parametrelerini etkiledi. Sürücü artık dizi çalıştırmadan önce her sabit genişlikli sayısal parametre için ODBC göstergelerini başlatır.
Bir SQL_WVARCHAR çıkış dönüştürücü, dizilsiz sütunları dönüştürdü
Tek bir dize dönüştürücü kaydetmek, int, decimal ve date değerlerinin de dönüştürülmesine neden oldu; çünkü sürücü, kendi dönüştürücüsü olmayan tüm sütunlar için SQL_WVARCHAR dönüştürücüsünü varsayılan olarak kullandı. Sürücü artık bu yedek seçeneği yalnızca sütunun eşlenmiş Python tipi str veya bytesolduğunda kullanır.
Tamsayı SQL tip kodu ile kaydedilen çıkış dönüştürücüleri hiç çalışmadı
Tam sayı SQL türü koduyla kayıtlı dönüştürücüler, örneğin SQL_DECIMAL, saklanır ancak çağrılmazdı, çünkü sürücü yalnızca Python tipinde cursor.descriptiongönderilirdi. Sürücü şimdi önce tamsayı kodunu, sonra Python tipini, ardından SQL_WVARCHAR yedek kodu gönderiyor.
Önemli
Eğer önceki bir sürümde dönüştürücüleri tam sayı SQL tip koduyla kaydettiyseniz, bu dönüştürücüler yükseltme yaptığınızda çalışmaya başlar. Dağıtmadan önce onları gözden geçirin, çünkü daha önce değişmeden geçen sütun değerleri şimdi dönüştürülür.
Daha fazla bilgi için Özel tip dönüştürücüler sayfasına bakınız.
Arrow okuyucuyu kapatmak sunucu tarafı imlecini serbest bırakmadı
Arrow okuyucusu kapatıldığında, sunucu tarafındaki imleç ayrılmış durumda kalıyor ve ebeveyn Cursor tutarsız bir durumda bırakılıyordu, çünkü cursor.arrow_reader() ham bir pyarrow.RecordBatchReader döndürüyordu. Yöntem artık, sunucu tarafındaki imleci serbest bırakan ve imleç durumunu sıfırlayan close() yöntemine sahip bir sarmalayıcı döndürür; bu sarmalayıcı da bir bağlam yöneticisi olarak çalışır.
Daha fazla bilgi için Apache Arrow entegrasyonuna bakınız.
Kısmen başlatılmış bir imleç, Cursor.__del__ içinde AttributeError oluşturdu
Başlatıcısı başarısız olan bir imleç, çöp toplama sırasında yükseltilemeyen bir istisna olarak bir AttributeError oluşturdu.
hstmt ve closed özniteliklerini ayarlamadan önce Cursor.__init__ oluşturuldu; daha sonra __del__ bunları okumaya çalıştı. Başlatıcı artık her iki özniteliği de kod yükseltmeden önce ayarlar ve __del__ yorumlayıcı kapanırken güvenli kalması için kayıt çağrısını korur.
MSSQL-python 1.12.0
Çıkış tarihi: Temmuz 2026
Geliştirmeler
Bağımsız mssql-python-odbc eşlik paketi
ODBC sürücü ikili dosyaları artık mssql-python-odbc adıyla ayrı olarak yayımlanmaktadır; bu, yalnızca veri içeren ve 18.6.2 sürümüne sabitlenmiş bir yardımcı pakettir. Hiçbir kodu değiştirmene gerek yok, çünkü pip install mssql-python eşlik paketi de onunla birlikte yükler. Yerel yükleyici yardımcı paketi tercih eder; bu paket mevcut değilse, mssql-python wheel paketinin içinde paketlenmiş ikili dosyalara geri döner.
Daha fazla bilgi için bkz . Yükleme.
Hata düzeltmeleri
cursor.bulkcopy() artık üst bağlantının bağlantı zaman aşımı süresini kullanıyor
bulkcopy() artık üst bağlantısının bağlantı zaman aşımını kullanır; bunu connect(..., timeout=<seconds>) ile ayarlarsınız. Daha önce, toplu kopyalamanın açtığı ayrı bağlantı, Python'dan geçersiz kılamadığınız kod içinde sabitlenmiş 15 saniyelik bir bağlantı zaman aşımı süresi kullanıyordu.
timeout=0 ile oluşturulan bir üst bağlantı yine de varsayılan 15 saniyelik süreyi alır.
Daha fazla bilgi için Toplu kopyalama bölümüne bakın.
cursor.bulkcopy() CLR kullanıcı tanımlı tip sütunlarını destekler
cursor.bulkcopy(), yerleşik geography, geometry ve Protocol Error: Unsupported TDS type for bulk copy: 0xF0 türleri dahil olmak üzere, Common Language Runtime (CLR) kullanıcı tanımlı türü kullanan herhangi bir hedef sütun için daha önce ile başarısız oluyordu. Sürücü artık CLR UDT sütunlarını kablo üzerindeki varbinary(max) ile eşler ve sizin sağladığınız baytları UDT'nin yükü IBinarySerialize olarak akış yapar. Düzeltme, mssql_py_core 0.1.7 sürümünde yer alacak.
Daha fazla bilgi için bkz. Toplu kopya ve Veri tipi eşlemeleri.
mssql-python 1.11.0
Çıkış tarihi: Temmuz 2026
Geliştirmeler
Geliştirilmiş bağlam yöneticisi semantiği
with connection: Şimdi blok temiz çıktığında işlemi yapar ve bir istisna bloktan ayrıldığında geri alır.
Daha fazla bilgi için bkz. İşlem yönetimi.
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, böylece hizmet sorumlusu kimlik bilgileriyle toplu ekleme yapabilirsiniz.
Daha fazla bilgi için Toplu kopya ve Microsoft Entra kimlik doğrulaması sayfalarına bakınız.
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.
Daha fazla bilgi için Toplu kopyalama ve Satır nesneleri bölümüne bakın.
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 .
Daha fazla bilgi için Toplu kopya ve Microsoft Entra kimlik doğrulaması sayfalarına bakınız.
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.
Daha fazla bilgi için bkz. Sıra nesneleri.
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 şunları içerir:
- RHEL 8 uyumlu jantlar.
- macOS Python 3.10
universal2wheel’leri geri yüklendi. -
simdutfaracılığıyla UTF-16 işleme iyileştirildi. - Optimize edilmiş
execute()sıcak yol.
Performans etkisi: Yöntemdeki execute() sıcak yol optimizasyonları sayesinde toplu yürütme verimliliği artar.
Daha fazla bilgi için bkz . Yükleme.
Hata düzeltmeleri
- Kimlik doğrulama başarısızlıkları düzeltildi, böylece
mssql_pythonyerineRuntimeErroryerine değil,mssql_pythonDB-API özel durumları oluşturulur. - 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
Bağlantı dizesi temizlenmesi artık düzenli ifadeler yerine ayrıştırıcı kullanır, böylece şifre alanlarında özel karakterler ve destekli değerler içeren bağlantı dizeleri doğru şekilde ayrıştırılır.
Daha fazla bilgi için bkz . Bağlantı dizeleri.
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.
Bu yöntemler her değer için bir Python nesnesi oluşturmaz. 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.
Daha fazla bilgi için bkz. Veri türü eşlemeleri.
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.
Daha fazla bilgi için Modül yapılandırması bölümünü inceleyebilirsiniz.
Sıra sınıfı kamu ihracatı
Sınıf Row artık tip notasyonları için en üst seviyede dışa aktarılır.
Daha fazla bilgi için bkz. Sıra nesneleri.
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: Şubat 2026
Yeni özellikler
Toplu kopya desteği
Yüksek performanslı toplu veri yükleme artık cursor.bulkcopy() aracılığıyla kullanılabilir. 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.
Daha fazla bilgi için Toplu kopyalama bölümüne bakın.
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 2026
Yeni özellikler
Ayarlar sınıfı
Yeni Settings sınıfı aracılığıyla modül genelindeki davranışı yapılandırın; bu sınıf, cursor.description içindeki sütun adları için lowercase ayarını içerir.
Daha fazla bilgi için Modül yapılandırması bölümünü inceleyebilirsiniz.
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: Ocak 2026
Yeni özellikler
Şema keşif yöntemleri
Yeni imleç yöntemleri veritabanı meta verilerini keşfediyor: tables(), columns(), primaryKeys(), statistics()foreignKeys()procedures(), ve .getTypeInfo()
Daha fazla bilgi için bkz. Şema keşfi.
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: Aralık 2025
Yeni özellikler
Özel çıkış dönüştürücüleri
Getirme sırasında sütun değerlerini dönüştürmek için özel işlevleri add_output_converter(), get_output_converter(), remove_output_converter() ve clear_output_converters() ile kaydedin.
Daha fazla bilgi için Özel tip dönüştürücüler sayfasına bakınız.
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: Kasım 2025
İ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ü.
Daha fazla bilgi için mssql-python sürücüsüne bakınız.
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.