Apa yang baru di mssql-python

Artikel ini mencantumkan apa saja yang berubah di setiap rilis driver mssql-python, yang terbaru duluan. Setiap bagian membahas fitur baru, perubahan perilaku, dan perbaikan bug untuk satu versi.

Untuk versi yang saat ini didukung Microsoft, lihat Siklus hidup Dukungan.

mssql-python 1.14.0

Tanggal rilis: Agustus 2026

Enhancements

Deteksi parameter dan pengikatan dijalankan dalam kode asli

Deteksi dan pengikatan tipe parameter kini dilakukan dalam satu pipeline native, alih-alih melalui pemanggilan Python untuk setiap parameter. Perubahan ini memperbaiki hambatan kinerja yang signifikan, dengan peningkatan throughput end-to-end yang lebih tinggi pada operasi besar seperti insert massal. Tidak perlu perubahan aplikasi.

Pemulihan kesalahan perangkat lunak

Argumen timeout untuk connect() menetapkan batas waktu kueri alih-alih batas waktu autentikasi

Argumen timeout sekarang mengatur SQL_ATTR_LOGIN_TIMEOUT dan membatasi upaya autentikasi, sesuai dengan yang dijelaskan oleh nama argumen dan dokumentasi. Pada versi sebelumnya, ini menjadi timeout kueri per pernyataan, sehingga connect(timeout=30) tidak membatasi berapa lama upaya koneksi dapat berjalan, dan kueri dibatalkan setelah 30 detik. Batas waktu kueri untuk setiap pernyataan tetap tersedia sebagai properti Connection.timeout.

Penting

Jika Anda meneruskan timeout ke connect() untuk membatalkan kueri yang berjalan lama, perilaku tersebut tidak lagi terjadi. Tetapkan Connection.timeout saja. Hal yang sama juga berlaku jika Anda mengandalkan connect(timeout=) untuk memperpanjang batas waktu koneksi yang digunakan bulkcopy() untuk koneksi internalnya: atur Connection.timeout sebelum Anda membuat kursor.

Untuk informasi lebih lanjut, lihat Timeout koneksi.

bulkcopy() ditolak timeout=0

timeout sebesar 0 menyebabkan galat validasi, meskipun 0 berarti tidak ada batas waktu di API penyalinan massal yang mendasarinya. Metode ini sekarang menerima 0 dan menonaktifkan batas waktu operasi. Nilai negatif, non-bilangan bulat, dan boolean tetap ditolak.

Untuk informasi lebih lanjut, lihat Salinan massal.

Pembersihan menggantikan eksepsi fetch Arrow yang asli

Ketika pengambilan data dari pembaca Arrow gagal, jalur pembersihan driver memunculkan kesalahan kedua yang menggantikan kesalahan asli, sehingga pemanggil melihat kegagalan pembersihan alih-alih penyebab kegagalan pengambilan data. Cleanup sekarang memeriksa status kursor terlebih dahulu dan mempertahankan pengecualian asli.

executemany() Kesalahan konversi desimal yang menyertakan nilai parameter

Kegagalan konversi desimal di executemany() menyebabkan nilai yang memicu kesalahan dilaporkan melalui pengecualian berantai, yang dapat menyebabkan data pelanggan masuk ke log aplikasi dan sistem pemantauan. Kesalahan sekarang hanya melaporkan indeks baris, indeks kolom, dan tipe nilai saja.

Untuk informasi selengkapnya, lihat Penanganan kesalahan.

Penyalinan massal untuk jenis Tampilan Panah ditolak

bulkcopy_arrow() tidak dapat memproses array Arrow View dengan panjang variabel, jadi kolom Polars string_view harus terlebih dahulu dikonversi dengan DataFrame.to_arrow(). Nilai Tampilan String dan NULL kini langsung melewati Antarmuka Data Arrow C.

Untuk informasi lebih lanjut, lihat Integrasi Polars.

Pemuatan ekstensi Windows menggunakan arsitektur CPU host

Pada Windows, driver memilih ekstensi natifnya berdasarkan CPU host alih-alih interpreter yang sedang berjalan, sehingga Python x64 pada host ARM64 dimuat melalui jalur cadangan dan mengeluarkan pemberitahuan ke stdout. Loader sekarang menentukan arsitektur dari interpreter dan melaporkan mekanisme fallback sebagai peringatan.

mssql-python 1.13.0

Tanggal rilis: Agustus 2026

Enhancements

Biner pengandar ODBC hanya tersedia di mssql-python-odbc

Versi 1.13.0 menghapus libs/ fallback dari roda mssql-python dan mendeklarasikan mssql-python-odbc==18.6.2.1 di install_requires. Perintah pip install mssql-python ini masih menghasilkan driver yang berfungsi. Instal mssql-python-odbc secara eksplisit saat Anda menginstal dengan --no-deps, atau dari indeks privat yang tidak mencerminkannya.

Untuk informasi selengkapnya, lihat Penginstalan.

Salinan massal dari sumber Apache Arrow

Metode baru cursor.bulkcopy_arrow() ini memuat data yang sudah dalam format Apache Arrow, tanpa mengonversi setiap baris menjadi objek Python terlebih dahulu. Meneruskan sumber Arrow ke bulkcopy() sekarang memunculkan TypeError.

Untuk informasi lebih lanjut, lihat integrasi Apache Arrow dan Salinan Massal.

token_providerparameter untuk kredensial Microsoft Entra

Fungsi connect() dan kelas Connection menerima argumen token_provider, sehingga Anda dapat meneruskan objek kredensial seperti DefaultAzureCredential alih-alih menyebutkan mode autentikasi dalam string koneksi. Argumen ini tidak dapat digunakan bersamaan dengan kata kunci Authentication dan dengan token yang diteruskan melalui attrs_before, serta hanya mendukung cakupan cloud komersial Azure.

Untuk informasi selengkapnya, lihat Autentikasi Microsoft Entra.

Penggabungan koneksi yang mempertimbangkan identitas

Pool koneksi sekarang memisahkan koneksi berdasarkan identitas Microsoft Entra. Pada versi sebelumnya, pool hanya menggunakan string koneksi sebagai kunci, sehingga pool dapat memberikan koneksi yang diautentikasi sebagai satu pengguna untuk permintaan yang dibuat oleh pengguna lain. Driver juga hanya memperoleh token saat permintaan koneksi tidak menemukan koneksi di pool, dan menyegarkan koneksi dalam pool ketika tokennya akan kedaluwarsa dalam 5 menit.

Untuk informasi selengkapnya, lihat Pengumpulan koneksi.

Pemulihan kesalahan perangkat lunak

executemany() dimasukkan baris nol saat NULL muncul setelah baris pertama

Panggilan executemany() yang mencampur nilai numerik non-NULL dan NULL tidak menyisipkan baris apa pun dan tidak memunculkan pengecualian saat NULL pertama muncul setelah baris pertama. Perilaku ini memengaruhi parameter tinyint, smallint, int, dan float . Driver sekarang menginisialisasi indikator ODBC untuk setiap parameter numerik berukuran tetap sebelum eksekusi array.

Sebuah SQL_WVARCHAR konverter output mengubah kolom non-string

Mendaftarkan satu konverter string juga mengonversi nilai int, desimal, dan tanggal, karena driver menggunakan konverter SQL_WVARCHAR sebagai fallback untuk setiap kolom yang tidak memiliki konverternya sendiri. Driver sekarang hanya menggunakan fallback tersebut ketika tipe Python yang dipetakan pada kolom adalah str atau bytes.

Konverter output yang terdaftar berdasarkan kode tipe SQL integer tidak pernah dijalankan

Konverter yang terdaftar dengan kode tipe SQL integer, seperti SQL_DECIMAL, disimpan tetapi tidak pernah dipanggil, karena driver hanya dikirim pada tipe Python di cursor.description. Driver sekarang mengirim kode bilangan bulat terlebih dahulu, lalu tipe Python, dan kemudian SQL_WVARCHAR cadangan.

Penting

Jika Anda mendaftarkan konverter dengan kode tipe SQL integer di versi sebelumnya, konverter tersebut mulai berjalan saat Anda melakukan upgrade. Tinjau sebelum Anda menerapkan, karena nilai kolom yang sebelumnya melewati tanpa perubahan kini telah diubah.

Untuk informasi selengkapnya, lihat Konverter jenis kustom.

Menutup pembaca Arrow tidak melepaskan kursor sisi server

Menutup pembaca Arrow membiarkan kursor di sisi server tetap teralokasi dan objek induk Cursor dalam keadaan tidak konsisten, karena cursor.arrow_reader() mengembalikan pyarrow.RecordBatchReader mentah. Metode ini sekarang mengembalikan pembungkus yang metodenya close() melepaskan kursor sisi server dan mengatur ulang status kursor, dan pembungkus berfungsi sebagai pengelola konteks.

Untuk informasi lebih lanjut, lihat integrasi Apache Arrow.

Kursor yang sebagian diinisialisasi diangkat AttributeError ke Cursor.__del__

Kursor yang inisialisatornya gagal memunculkan AttributeError sebagai pengecualian yang tidak dapat dimunculkan selama garbage collection.

Cursor.__init__ dimunculkan sebelum menetapkan atribut closed dan __del__, yang kemudian coba dibaca oleh hstmt. Penginisialisasi kini menetapkan kedua atribut sebelum kode apa pun yang dapat memicu pengecualian, dan __del__ melindungi panggilan logging-nya agar tetap aman selama penghentian interpreter.

mssql-python 1.12.0

Tanggal rilis: Juli 2026

Enhancements

Paket pendamping mandiri mssql-python-odbc

Biner driver ODBC kini diterbitkan secara terpisah sebagai mssql-python-odbc, paket pendamping khusus data yang dipatok ke versi 18.6.2. Anda tidak perlu mengubah kode apa pun, karena pip install mssql-python paket pendamping akan diinstal bersamanya. Loader native memprioritaskan paket pendamping dan akan beralih ke biner yang dibundel di dalam wheel mssql-python jika paket tersebut tidak tersedia.

Untuk informasi selengkapnya, lihat Penginstalan.

Pemulihan kesalahan perangkat lunak

cursor.bulkcopy() sekarang menggunakan waktu tunggu penyambungan koneksi induk

bulkcopy() sekarang menggunakan waktu tunggu koneksi dari koneksi induknya, yang Anda atur dengan connect(..., timeout=<seconds>). Sebelumnya, koneksi terpisah yang dibuka salinan massal menggunakan timeout koneksi 15 detik yang sudah di-hardcode dan tidak bisa Anda override dari Python. Koneksi induk yang dibuat dengan timeout=0 masih mendapatkan default 15 detik.

Untuk informasi lebih lanjut, lihat Salinan massal.

cursor.bulkcopy() mendukung kolom tipe CLR yang didefinisikan pengguna

cursor.bulkcopy() sebelumnya gagal dengan Protocol Error: Unsupported TDS type for bulk copy: 0xF0 pada kolom tujuan apa pun yang menggunakan tipe yang ditentukan pengguna common language runtime (CLR), termasuk tipe bawaan geography, geometry, dan hierarchyid. Driver sekarang memetakan kolom CLR UDT ke varibinary (max) pada kabel dan mengalirkan byte yang Anda berikan sebagai payload UDT IBinarySerialize . Perbaikan ini dikirim di mssql_py_core 0.1.7.

Untuk informasi lebih lanjut, lihat Salinan massal dan Pemetaan tipe Data.

mssql-python 1.11.0

Tanggal rilis: Juli 2026

Enhancements

Semantik manajer konteks yang disempurnakan

with connection: sekarang mengkomit transaksi saat blok keluar dengan bersih, dan mengembalikannya saat pengecualian keluar dari blok.

Untuk informasi selengkapnya, lihat Manajemen transaksi.

Pemulihan kesalahan perangkat lunak

  • Memperbaiki deadlock GIL di jalur teardown ODBC (conn.close() dan cursor.close()) dan di SQLDescribeParam untuk parameter bernilai None dalam konfigurasi terowongan SSH dan forwarder dalam proses.
  • Memperbaiki parameter NULL BINARY dan VARBINARY pada tabel sementara dan variabel tabel. Ketika resolusi jenis otomatis gagal, driver sekarang memancarkan peringatan Python dengan panduan eksplisit.cursor.setinputsizes()
  • Memperbaiki masalah import mssql_python yang gagal pada Apple Silicon dengan instalasi bersih (regresi pada versi 1.8.0). Dependensi dylib ODBC yang disertakan kini telah ditulis ulang untuk arsitektur arm64 dan x86_64.
  • Memperbaiki deadlock GIL di core Rust yang menyebabkan operasi penyalinan massal terhenti saat mengautentikasi dengan Authentication=ActiveDirectoryServicePrincipal.

mssql-python 1.10.0

Tanggal rilis: Juni 2026

Enhancements

Dukungan ActiveDirectoryServicePrincipal untuk salinan massal

cursor.bulkcopy() sekarang mendukung Authentication=ActiveDirectoryServicePrincipal, sehingga Anda dapat melakukan penyisipan massal dengan kredensial perwakilan layanan.

Untuk informasi lebih lanjut, lihat Salinan massal dan autentikasi Microsoft Entra.

Pemulihan kesalahan perangkat lunak

  • Memperbaiki data non-ASCII VARCHAR dan CHAR di jalur pengambilan Arrow.
  • Memperbaiki batas waktu koneksi selama operasi pemuatan massal.

mssql-python 1.9.0

Tanggal rilis: Juni 2026

Enhancements

Objek baris dalam salinan massal

cursor.bulkcopy() sekarang menerima objek Row yang diambil secara langsung, alih-alih mengharuskan konversi tuple secara manual.

Untuk informasi lebih lanjut, lihat Objek salinan massal dan Baris.

Pemulihan kesalahan perangkat lunak

  • Kemasan roda tetap sehingga simdutf selalu terhubung secara statis.
  • Memperbaiki sisipan besar DECIMAL di executemany().
  • Memperbaiki fallback tipe yang keliru untuk parameter NULL.
  • Memperbaiki round-trip pickle dan unpickle pada pengecualian.
  • Diperbaiki nextset() sehingga mempertahankan PRINT pesan di seluruh kumpulan hasil.
  • Memperbaiki penanganan Row pada jalur fallback executemany() data-at-execution.
  • Memperbaiki pemeriksaan tipe metode fetch untuk alat analisis statis.

mssql-python 1.8.0

Tanggal rilis: Mei 2026

Enhancements

Dukungan ActiveDirectoryMSI untuk salinan massal

cursor.bulkcopy() sekarang mendukung Authentication=ActiveDirectoryMSI untuk identitas terkelola yang ditetapkan sistem dan yang ditetapkan pengguna.

Untuk informasi lebih lanjut, lihat Salinan massal dan autentikasi Microsoft Entra.

Pengindeksan baris dengan kunci string

Anda sekarang dapat mengakses nilai baris berdasarkan nama kolom, misalnya row["col"], selain pengindeksan posisi dan akses atribut.

Untuk informasi lebih lanjut, lihat objek baris.

Peningkatan driver ODBC yang dibundel

Driver Microsoft ODBC yang dibundel untuk SQL Server diperbarui ke 18.6.2.1.

Pemulihan kesalahan perangkat lunak

  • Memperbaiki masalah masa pakai atribut koneksi yang ditangguhkan dalam autentikasi berbasis token.
  • Memperbaiki penguraian string koneksi yang berulang dalam alur autentikasi.
  • Memperbaiki anotasi tipe executemany() untuk input sekuens.

mssql-python 1.7.1

Tanggal rilis: Mei 2026

Enhancements

Cakupan roda yang diperluas dan peningkatan performa

Rilis ini meliputi:

  • Paket wheel yang kompatibel dengan RHEL 8.
  • Mengembalikan roda macOS Python 3.10universal2.
  • Peningkatan penanganan UTF-16 melalui simdutf.
  • Jalur panas yang dioptimalkan execute() .

Dampak kinerja: Throughput eksekusi batch meningkat karena optimasi jalur panas dalam execute() metode.

Untuk informasi selengkapnya, lihat Penginstalan.

Pemulihan kesalahan perangkat lunak

  • Memperbaiki kegagalan autentikasi sehingga memunculkan pengecualian DB-API mssql_python alih-alih RuntimeError.
  • Pelepasan GIL diperluas pada panggilan ODBC yang memblokir untuk eksekusi, pengambilan data, transaksi, dan atribut koneksi.
  • Memperbaiki kegagalan executemany() yang terjadi saat nilai desimal berganti tanda.
  • Memperbaiki decoding CP1252 VARCHAR yang tidak konsisten di seluruh platform.
  • Memperbaiki cursor.bulkcopy() kegagalan pada string kosong di kolom NVARCHAR(MAX) dan VARCHAR(MAX).

Note

Versi 1.7.0 ditarik karena masalah publikasi. Gunakan versi 1.7.1 atau yang lebih baru.

mssql-python 1.6.0

Tanggal rilis: April 2026

Enhancements

Sanitasi string koneksi berbasis parser

Sanitisasi string koneksi sekarang menggunakan parser alih-alih ekspresi reguler, sehingga string koneksi yang mengandung karakter khusus di kolom kata sandi dan nilai yang dikurung dapat diparser dengan benar.

Untuk informasi selengkapnya, lihat String koneksi.

Pemulihan kesalahan perangkat lunak

  • Memperbaiki pelepasan GIL selama memblokir operasi koneksi dan pemutusan ODBC.
  • Memperbaiki kerusakan pada setinputsizes() dengan petunjuk SQL_DECIMAL dan SQL_NUMERIC.
  • Memperbaiki perilaku yang salah fetchone() untuk metode katalog ODBC.
  • Memperbaiki kesalahan status kursor yang tidak valid saat reset_cursor=False digunakan.
  • Memperbaiki executemany() petunjuk tipe untuk urutan parameter berbasis mapping.
  • Menambahkan pelindung lintasan jalur untuk setup_logging(log_file_path=...).

mssql-python 1.5.0

Tanggal rilis: April 2026

Fitur baru

Dukungan untuk mengambil data Apache Arrow

Tiga metode kursor baru menyediakan pengambilan data kolumnar berperforma tinggi melalui Arrow C Data Interface:

  • cursor.arrow() mengembalikan pyarrow.Table yang lengkap.
  • cursor.arrow_batch() mengembalikan satu pyarrow.RecordBatch.
  • cursor.arrow_reader() mengembalikan sebuah pyarrow.RecordBatchReader untuk streaming.

Metode-metode ini tidak membuat objek Python untuk setiap nilai. Untuk dokumentasi lengkap, lihat Integrasi Apache Arrow.

Dukungan tipe sql_variant

Driver sekarang mendeteksi kolom sql_variant saat pengambilan data, menentukan tipe dasar yang mendasarinya, dan mengembalikan nilai Python dengan tipe yang benar, bukan byte mentah.

Note

sql_variant kolom menggunakan jalur pengambilan streaming, yang mungkin sedikit memengaruhi performa dibandingkan dengan kolom bertipe tetap.

Untuk informasi lebih lanjut, lihat Pemetaan tipe data.

Dukungan UUID asli

Pengaturan baru native_uuid mengontrol apakah UNIQUEIDENTIFIER kolom dikembalikan sebagai uuid.UUID objek (default) atau sebagai string huruf besar yang kompatibel dengan pyodbc. Konfigurasikan di tingkat modul atau per koneksi.

Untuk informasi selengkapnya, lihat Konfigurasi modul.

Baris kelas ekspor publik

Kelas Row sekarang diekspor pada level teratas untuk anotasi tipe.

Untuk informasi lebih lanjut, lihat objek baris.

Pemulihan kesalahan perangkat lunak

  • Memperbaiki deteksi positif palsu ? dalam identifier yang diapit tanda kurung, literal string, dan komentar.
  • Memperbaiki pengikatan parameter NULL untuk VARBINARY kolom (tidak lagi menimbulkan kesalahan konversi implisit).
  • Memperbaiki masalah hilangnya mikrodetik pada nilai datetime.time saat konversi bolak-balik untuk kolom TIME(1) hingga TIME(7).
  • Memperbaiki jalur fetch Arrow agar menyertakan pecahan detik dengan benar untuk kolom TIME.
  • Memperbaiki masalah penyalinan massal dengan metode autentikasi Microsoft Entra ID (kolom kredensial usang tidak lagi menyebabkan kesalahan validasi).
  • Instans kredensial Azure Identity yang di-cache di tingkat modul untuk meningkatkan performa autentikasi.

mssql-python 1.4.0

Tanggal rilis: Februari 2026

Fitur baru

Dukungan salinan massal

Pemuatan data massal berkinerja tinggi kini tersedia melalui cursor.bulkcopy(). Metode ini menerima opsi untuk batch_size, timeout, column_mappings, keep_identity, check_constraintstable_lockkeep_nullsfire_triggersdan .use_internal_transaction

Untuk informasi lebih lanjut, lihat Salinan massal.

Improvements

  • Pengoptimalan performa untuk kumpulan hasil besar.
  • Mengurangi penggunaan memori selama operasi batch.
  • Pesan kesalahan yang ditingkatkan untuk kegagalan salin massal.

mssql-python 1.3.0

Tanggal rilis: Januari 2026

Fitur baru

Kelas pengaturan

Konfigurasikan perilaku seluruh modul melalui kelas baru Settings , yang mencakup lowercase pengaturan nama kolom di cursor.description.

Untuk informasi selengkapnya, lihat Konfigurasi modul.

Improvements

  • Penanganan batas waktu koneksi yang lebih baik saat failover Azure SQL.
  • Kompatibilitas yang ditingkatkan dengan Python 3.13.

mssql-python 1.2.0

Tanggal rilis: Januari 2026

Fitur baru

Metode penemuan skema

Metode kursor baru mengeksplorasi metadata basis data: tables(), , columns(), primaryKeys()foreignKeys(), procedures()statistics(), , dan getTypeInfo().

Untuk informasi lebih lanjut, lihat Penemuan skema.

Improvements

  • Peningkatan cache metadata untuk kueri skema yang berulang.
  • Penanganan kolom komputasi yang lebih baik dalam columns() hasil.

mssql-python 1.1.0

Tanggal rilis: Desember 2025

Fitur baru

Konverter keluaran khusus

Daftarkan fungsi kustom untuk mengubah nilai kolom saat pengambilan data, dengan add_output_converter(), get_output_converter(), remove_output_converter(), dan clear_output_converters().

Untuk informasi selengkapnya, lihat Konverter jenis kustom.

Improvements

  • Pesan kesalahan yang lebih baik untuk kegagalan konversi tipe.
  • Dukungan untuk fungsi konverter yang mengembalikan None.

mssql-python 1.0.0

Tanggal rilis: November 2025

Rilis GA awal

Rilis ketersediaan umum pertama mssql-python, driver Python asli Microsoft untuk SQL Server.

Untuk informasi lebih lanjut, lihat driver mssql-python.

Fitur inti

  • Arsitektur DDBC: Konektivitas Database Langsung tanpa memerlukan penginstalan driver ODBC.
  • Kepatuhan terhadap DB-API 2.0: Antarmuka database Python standar.
  • Pengumpulan koneksi: Manajemen kumpulan koneksi bawaan.
  • Autentikasi Microsoft Entra: Dukungan penuh untuk autentikasi berbasis identitas Azure.
  • Enkripsi TLS: Koneksi aman dengan validasi sertifikat.

Fitur koneksi

  • 21 kata kunci string koneksi.
  • 9 mode otentikasi (SQL, Windows, dan 7 metode Microsoft Entra ID).
  • Kontrol penerapan otomatis.
  • Metode eksekusi: execute(), executemany(), dan batch_execute().
  • Atribut koneksi melalui set_attr() dan getinfo().
  • Dukungan pengelola konteks.

Fitur kursor

  • Metode pengambilan standar: fetchone(), fetchmany(), fetchall().
  • Metode yang diperluas: fetchval(), skip().
  • Metode eksekusi: execute() dan executemany().
  • Objek baris dengan akses atribut dan indeks.
  • Navigasi beberapa kumpulan hasil dengan nextset().

Dukungan jenis data

  • Semua tipe bawaan SQL Server.
  • Pemetaan tipe Python↔SQL.
  • Konstanta jenis SQL untuk pengetikan eksplisit (misalnya, mssql_python.SQL_DECIMAL).
  • Penanganan nilai NULL di Python None.

Dukungan transaksi

  • Penerapan dan pengembalian manual.
  • Mode komit otomatis.
  • Kontrol tingkat isolasi.
  • Deteksi dan penanganan kebuntuan.

Modus autentikasi

Mode Deskripsi
autentikasi SQL Server Nama pengguna dan kata sandi
Autentikasi Windows Trusted_Connection
ActiveDirectoryDefault DefaultAzureCredential
ActiveDirectoryInteractive Login berbasis browser
Kode Perangkat Active Directory Alur kode perangkat
ActiveDirectoryPassword Nama pengguna dan kata sandi Microsoft Entra (tidak digunakan lagi; menggunakan ROPC)
ActiveDirectoryMSI Identitas yang dikelola
ActiveDirectoryServicePrincipal Kepala layanan
Terintegrasi dengan Active Directory Windows Kerberos

Upgrade

Dari pyodbc

Untuk panduan migrasi terperinci, lihat Bermigrasi dari pyodbc.

Perbedaan utama:

  • Baik gaya parameter ? (qmark) maupun %(name)s (pyformat) didukung. Kueri Anda yang sudah ada ? tetap berfungsi tanpa perubahan.
  • Tidak ada metode callproc(). Gunakan EXECUTE pernyataan sebagai gantinya.
  • Pool koneksi bawaan.
  • Tidak ada dependensi driver ODBC eksternal.

Dari pymssql

Untuk panduan migrasi terperinci, lihat Bermigrasi dari pymssql.

Perbedaan utama:

  • Ganti %s dan %d parameter penanda dengan ? atau %(name)s.
  • Gunakan string koneksi alih-alih argumen posisi.
  • Tidak ada dependensi FreeTDS.
  • Beberapa kursor simultan per koneksi.
  • Objek baris dengan akses atribut mengganti as_dict=True.

Antara versi mssql-python

Tingkatkan driver untuk mendapatkan fitur dan perbaikan baru.

pip install --upgrade mssql-python

Periksa catatan rilis untuk mengetahui perubahan yang merusak sebelum memutakhirkan sistem produksi.

Peta strategi

Untuk fitur mendatang dan peta jalan pengembangan, lihat repositori GitHub.