Jenis Yang Ditentukan Pengguna CLR Besar di Klien Asli SQL Server

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Penting

SQL Server Native Client (sering disingkat SNAC) telah dihapus dari SQL Server 2022 (16.x) dan SQL Server Management Studio 19 (SSMS). SQL Server Native Client (SQLNCLI atau SQLNCLI11) dan Penyedia Microsoft OLE DB warisan untuk SQL Server (SQLOLEDB) tidak direkomendasikan untuk pengembangan aplikasi baru. Beralih ke Microsoft OLE DB Driver (MSOLEDBSQL) baru untuk SQL Server atau Microsoft ODBC Driver terbaru untuk SQL Server ke depannya. Untuk SQLNCLI yang dikirim sebagai komponen SQL Server Database Engine (versi 2012 hingga 2019), lihat pengecualian Siklus Hidup Dukungan ini.

Di SQL Server 2005, jenis yang ditentukan pengguna (UDT) dalam runtime bahasa umum (CLR) dibatasi hingga ukuran 8.000 byte. Pembatasan ini telah dicabut di SQL Server 2008 (10.0.x) dan versi yang lebih baru. UDT CLR sekarang diperlakukan dengan cara yang sama dengan jenis objek besar (LOB). Artinya, UDT kurang dari atau sama dengan 8.000 byte bersifat sama seperti di SQL Server 2005, tetapi UDT yang lebih besar didukung dan melaporkan ukurannya sebagai "tidak terbatas".

Untuk informasi selengkapnya, lihat Jenis Yang Ditentukan Pengguna CLR Besar (OLE DB) dan Jenis Yang Ditentukan Pengguna CLR Besar (ODBC).

Kasus Penggunaan

Untuk ODBC, dukungan untuk UDT besar mencakup kemampuan untuk mengirim nilai UDT dalam potongan-potongan sebagai parameter data-at-execution. Ini dilakukan dengan menggunakan SQLPutData.

Untuk OLE DB, dukungan untuk UDT besar mencakup kemampuan untuk mengalirkan nilai UDT ke dan dari server dengan menggunakan pengikatan ISequentialStream.

UDT kurang dari atau sama dengan 8.000 byte akan berulah seperti yang mereka lakukan di SQL Server 2005. Untuk OLE DB, Anda masih dapat melakukan streaming UDT kecil dengan menggunakan pengikatan ISequentialStream.

Terkadang kode asli harus memahami konten UDT CLR, tetapi tidak perlu membuat instans objek terkelola. Jika demikian, Anda dapat menggunakan serialisasi kustom untuk mengonversi nilai UDT di server menjadi format terkenal untuk klien.

Untuk aplikasi yang memiliki kode akses data yang ada, Anda dapat mengeksploitasi perilaku UDT CLR pada klien dengan mengambil UDT melalui API asli dan membuat instansnya dengan menggunakan interop C++ CLI dalam aplikasi mode campuran.

Lihat Juga

Fitur Klien Asli SQL Server