Pustaka Kursor ODBC

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

Beberapa driver ODBC hanya mendukung pengaturan kursor default; driver ini juga tidak mendukung operasi kursor yang diposisikan, seperti SQLSetPos. Pustaka kursor ODBC adalah komponen komponen Microsoft Data Access Components (MDAC) yang digunakan untuk menerapkan kursor blok atau statis pada driver yang biasanya tidak mendukungnya. Pustaka kursor juga mengimplementasikan pernyataan UPDATE dan DELETE yang diposisikan dan SQLSetPos untuk kursor yang dibuatnya.

Pustaka kursor ODBC diimplementasikan sebagai lapisan antara Odbc Driver Manager dan driver ODBC. Jika pustaka kursor ODBC dimuat, Odbc Driver Manager merutekan semua perintah terkait kursor ke pustaka kursor alih-alih driver. Pustaka kursor mengimplementasikan kursor dengan mengambil seluruh hasil yang ditetapkan dari driver yang mendasar dan penembolokan hasil yang ditetapkan pada klien. Saat menggunakan pustaka kursor ODBC, aplikasi terbatas pada fungsi kursor pustaka kursor; dukungan apa pun untuk fungsionalitas kursor tambahan di driver yang mendasar tidak tersedia untuk aplikasi.

Ada sedikit kebutuhan untuk menggunakan pustaka kursor ODBC dengan driver ODBC SQL Server Native Client karena driver itu sendiri mendukung lebih banyak fungsi kursor daripada pustaka kursor ODBC. Satu-satunya alasan untuk menggunakan pustaka kursor ODBC dengan driver ODBC SQL Server Native Client adalah karena driver menerapkan dukungan kursornya melalui kursor server, dan kursor server tidak mendukung semua pernyataan SQL. Setiap kali ada kebutuhan untuk memiliki kursor statis dengan prosedur tersimpan, batch, atau pernyataan SQL yang berisi komputasi, COMPUTE BY, FOR BROWSE, atau INTO, pertimbangkan untuk menggunakan pustaka kursor ODBC. Namun, perawatan harus digunakan dengan pustaka kursor karena menyimpan seluruh hasil yang ditetapkan pada klien, yang dapat menggunakan memori dalam jumlah besar dan performa lambat.

Aplikasi memanggil pustaka kursor berdasarkan koneksi demi koneksi dengan menggunakan SQLSetConnectAttr untuk mengatur atribut koneksi SQL_ATTR_ODBC_CURSORS sebelum menyambungkan ke sumber data. SQL_ATTR_ODBC_CURSORS diatur ke salah satu dari tiga nilai:

SQL_CUR_USE_ODBC
Ketika opsi ini diatur dengan driver ODBC SQL Server Native Client, pustaka kursor ODBC mengambil alih dukungan kursor asli driver ODBC Klien Asli SQL Server. Hanya jenis kursor yang didukung oleh pustaka kursor yang dapat digunakan untuk koneksi; kursor server tidak dapat digunakan.

SQL_CUR_USE_DRIVER
Ketika opsi ini diatur, semua dukungan kursor asli driver ODBC SQL Server Native Client dapat digunakan untuk koneksi. Pustaka kursor ODBC tidak dapat digunakan. Semua kursor diimplementasikan sebagai kursor server.

SQL_CUR_USE_IF_NEEDED
Ketika opsi ini diatur, efeknya sama dengan SQL_CUR_USE_DRIVER saat digunakan dengan driver ODBC SQL Server Native Client. Pada waktu sambungkan, ODBC Driver Manager menguji untuk melihat apakah driver ODBC yang terhubung untuk mendukung opsi SQL_FETCH_PRIOR SQLFetchScroll. Jika driver tidak mendukung opsi , Odbc Driver Manager memuat pustaka kursor ODBC. Jika driver tidak mendukung opsi , Odbc Driver Manager tidak memuat pustaka kursor ODBC dan aplikasi menggunakan dukungan asli driver. Karena driver ODBC Klien Asli SQL Server mendukung SQL_FETCH_PRIOR, Manajer Driver ODBC tidak memuat pustaka kursor ODBC.

Pustaka kursor memungkinkan aplikasi untuk menggunakan beberapa pernyataan aktif pada koneksi, serta kursor yang dapat digulir dan dapat diperbarui. Pustaka kursor harus dimuat untuk mendukung fungsionalitas ini. Gunakan SQLSetConnectAttr untuk menentukan bagaimana pustaka kursor harus digunakan dan SQLSetStmtAttr untuk menentukan jenis kursor, konkurensi, dan ukuran set baris.

Lihat Juga

Bagaimana Kursor Diimplementasikan