mssql-python'da ne yenilikler var

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() ve cursor.close()) ve SSH tüneli ile süreç içi yönlendirici yapılandırmalarında, SQLDescribeParam değerine sahip parametreler için None içindeki GIL kilitlenmesi düzeltildi.
  • Geçici tablolarda ve tablo değişkenlerinde sabit BINARY ve VARBINARY NULL parametreler. Otomatik tip çözümlemesi başarısız olduğunda, sürücü artık açık cursor.setinputsizes() rehberlikle bir Python uyarısı gönderir.
  • Apple Silicon’da temiz kurulumda import mssql_python oluşan hata düzeltildi (1.8.0’daki bir regresyon). Paketlenmiş ODBC dylib bağımlılıkları artık hem arm64 hem de x86_64 mimariler için yeniden yazılmıştır.
  • Authentication=ActiveDirectoryServicePrincipal ile 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ışı VARCHAR ve CHAR veriler 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 simdutf her zaman statik bağlantılıdır.
  • DECIMAL içindeki büyük executemany() 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ında PRINT iletilerini koruyacak şekilde düzeltildi.
  • Veri-yürütme sırasında geri dönüş yolunda Row iş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 universal2 wheel’leri geri yüklendi.
  • simdutf aracı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_python yerine RuntimeError yerine değil, mssql_python DB-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 VARCHAR kod çözümlemesi düzeltildi.
  • cursor.bulkcopy() ve NVARCHAR(MAX) sütunlarındaki boş dizeler için VARCHAR(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_DECIMAL ve SQL_NUMERIC ipuçlarıyla ilgili çökmeler düzeltildi.
  • ODBC katalog yöntemleri için yanlış fetchone() davranış düzeltildi.
  • reset_cursor=False kullanı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 bir pyarrow.Table döndürür.
  • cursor.arrow_batch(), tek bir pyarrow.RecordBatch döndürür.
  • cursor.arrow_reader(), akış için bir pyarrow.RecordBatchReader dö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.
  • VARBINARY sütunları için NULL parametre bağlama düzeltildi (artık örtük dönüştürme hatalarına neden olmuyor).
  • datetime.time ile TIME(1) arasındaki sütunlar için, TIME(7) değerlerinin gidiş-dönüşlerde mikrosaniyeleri kaybetmesi düzeltildi.
  • TIME sü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ı.
  • None dö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(), ve batch_execute().
  • set_attr() ve getinfo() 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() ve executemany().
  • Ö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 None olarak 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 yerine EXECUTE komutları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%d veya ?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.