Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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()dancursor.close()) dan diSQLDescribeParamuntuk parameter bernilaiNonedalam konfigurasi terowongan SSH dan forwarder dalam proses. - Memperbaiki parameter NULL
BINARYdanVARBINARYpada tabel sementara dan variabel tabel. Ketika resolusi jenis otomatis gagal, driver sekarang memancarkan peringatan Python dengan panduan eksplisit.cursor.setinputsizes() - Memperbaiki masalah
import mssql_pythonyang gagal pada Apple Silicon dengan instalasi bersih (regresi pada versi 1.8.0). Dependensi dylib ODBC yang disertakan kini telah ditulis ulang untuk arsitekturarm64danx86_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
VARCHARdanCHARdi 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
simdutfselalu terhubung secara statis. - Memperbaiki sisipan besar
DECIMALdiexecutemany(). - Memperbaiki fallback tipe yang keliru untuk parameter NULL.
- Memperbaiki round-trip pickle dan unpickle pada pengecualian.
- Diperbaiki
nextset()sehingga mempertahankanPRINTpesan di seluruh kumpulan hasil. - Memperbaiki penanganan
Rowpada jalur fallbackexecutemany()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.10
universal2. - 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_pythonalih-alihRuntimeError. - 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
VARCHARyang tidak konsisten di seluruh platform. - Memperbaiki
cursor.bulkcopy()kegagalan pada string kosong di kolomNVARCHAR(MAX)danVARCHAR(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 petunjukSQL_DECIMALdanSQL_NUMERIC. - Memperbaiki perilaku yang salah
fetchone()untuk metode katalog ODBC. - Memperbaiki kesalahan status kursor yang tidak valid saat
reset_cursor=Falsedigunakan. - 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()mengembalikanpyarrow.Tableyang lengkap. -
cursor.arrow_batch()mengembalikan satupyarrow.RecordBatch. -
cursor.arrow_reader()mengembalikan sebuahpyarrow.RecordBatchReaderuntuk 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
VARBINARYkolom (tidak lagi menimbulkan kesalahan konversi implisit). - Memperbaiki masalah hilangnya mikrodetik pada nilai
datetime.timesaat konversi bolak-balik untuk kolomTIME(1)hinggaTIME(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(), danbatch_execute(). - Atribut koneksi melalui
set_attr()dangetinfo(). - Dukungan pengelola konteks.
Fitur kursor
- Metode pengambilan standar:
fetchone(),fetchmany(),fetchall(). - Metode yang diperluas:
fetchval(),skip(). - Metode eksekusi:
execute()danexecutemany(). - 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(). GunakanEXECUTEpernyataan sebagai gantinya. - Pool koneksi bawaan.
- Tidak ada dependensi driver ODBC eksternal.
Dari pymssql
Untuk panduan migrasi terperinci, lihat Bermigrasi dari pymssql.
Perbedaan utama:
- Ganti
%sdan%dparameter 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.