Bagikan melalui


Pengumpulan Sambungan Sadar Driver

Pengumpulan koneksi sadar driver adalah fitur baru Manajer Driver di Windows 8. Pengumpulan koneksi sadar driver memungkinkan penulis driver untuk menyesuaikan perilaku pengumpulan koneksi di driver ODBC mereka.

Catatan

Pengumpulan koneksi sadar driver tidak didukung dengan pustaka kursor. Aplikasi akan menerima pesan kesalahan jika mencoba mengaktifkan pustaka kursor melalui SQLSet Koneksi Attr, ketika kumpulan koneksi sadar driver diaktifkan.

Pengumpulan koneksi sadar driver mengatasi masalah berikut yang terkait dengan pengumpulan koneksi Driver Manager:

Fragmentasi Kumpulan Manajer Driver hanya akan mengembalikan koneksi dari kumpulan jika sama persis dengan string koneksi permintaan koneksi baru. Salah satu alasan bagi Manajer Driver untuk memerlukan kecocokan yang tepat adalah bahwa Manajer Driver tidak memahami setiap kata kunci string koneksi khusus driver dan nilainya. Namun, beberapa nilai kata kunci string koneksi (seperti nama database) mungkin tidak memerlukan kecocokan yang tepat, karena driver dapat mengubah database dalam waktu kurang dari waktu yang diperlukan untuk membuka koneksi baru (perbedaan waktu yang tepat tergantung pada sumber data). Dan, perbedaan dalam beberapa atribut koneksi (seperti SQL_ATTR_CURRENT_CATALOG) dapat memakan waktu lebih lama untuk berubah daripada perbedaan atribut lain (seperti SQL_ATTR_LOGIN_TIMEOUT). Hal ini juga dapat mencegah Manajer Driver menggunakan koneksi dengan biaya terendah dan dapat digunakan kembali dari kumpulan. Ketika driver harus membuat banyak koneksi baru, performa aplikasi dapat menurun dan skalabilitas sumber data dapat berkurang. Fragmentasi kumpulan dapat dikurangi dengan pengumpulan koneksi sadar driver karena driver dapat memperkirakan biaya penggunaan kembali koneksi dengan lebih baik di kumpulan untuk permintaan koneksi.

Tidak ada pertimbangan preferensi aplikasi Beberapa sumber data dapat membuka koneksi baru secara efisien (dibandingkan dengan mengatur ulang beberapa atribut), jadi, aplikasi mungkin lebih suka membuka koneksi baru alih-alih mencoba menggunakan kembali koneksi yang sedikit tidak cocok dari kumpulan dan mengatur ulang beberapa nilai (meskipun ini mungkin lebih lambat selama frasa inisialisasi kumpulan koneksi). Tetapi beberapa aplikasi mungkin menjaga beban server lebih kecil dan membuka lebih sedikit koneksi, meskipun mungkin ada biaya yang lebih besar untuk memperbaiki ketidakcocokan untuk perilaku yang benar. Tanpa pengumpulan koneksi sadar driver, Anda tidak dapat menentukan preferensi semacam ini secara efektif, karena Manajer Driver tidak mengenali semua atribut koneksi khusus driver. Pengumpulan koneksi sadar driver memungkinkan driver untuk mendapatkan preferensi pengguna (dengan atribut khusus driver SQLSet Koneksi Attr) sehingga dapat memperkirakan biaya penggunaan kembali koneksi dari kumpulan dengan lebih baik berdasarkan preferensi pengguna.

Untuk informasi selengkapnya tentang pengumpulan koneksi sadar driver, lihat Mengembangkan Koneksi ion-Pool Awareness di Driver ODBC.

Menentukan Dukungan Driver

Pengumpulan koneksi sadar driver adalah fitur opsional yang mungkin tidak didukung driver. Untuk menentukan apakah driver mendukungnya, gunakan SQL_DRIVER_AWARE_POOLING_SUPPORTED InfoType dari SQLGetInfo.

Cara Mengaktifkan Pengumpulan Koneksi sadar driver

Aplikasi dapat menggunakan kesadaran pengumpulan koneksi driver dengan mengatur atribut SQL_ATTR_CONNECTION_POOLING ke SQL_CP_DRIVER_AWARE dengan SQLSetEnvAttr. Jika driver tidak mendukung kesadaran kumpulan koneksi, pengumpulan koneksi Driver Manager akan digunakan (sama seperti jika SQL_CP_ONE_PER_HENV telah ditentukan, bukan SQL_CP_DRIVER_AWARE). Aplikasi ODBC 2.x dan 3.x dapat mengaktifkan fitur ini.

Lihat Juga

Mengembangkan Driver ODBC