Microsoft Cursor Service untuk Gambaran Umum OLE DB
Layanan Kursor Microsoft untuk OLE DB melengkapi fungsi dukungan kursor penyedia data. Akibatnya, pengguna meraskan fungsionalitas yang relatif seragam dari semua penyedia data.
Layanan Kursor membuat properti dinamis tersedia dan meningkatkan perilaku metode tertentu. Misalnya, properti Dinamis Optimalkan memungkinkan pembuatan indeks sementara untuk memfasilitasi operasi tertentu, seperti metode Temukan .
Layanan Kursor memungkinkan dukungan untuk pembaruan batch dalam semua kasus. Ini juga mensimulasikan jenis kursor yang lebih mampu, seperti kursor dinamis, ketika penyedia data hanya dapat menyediakan kursor yang kurang mampu, seperti kursor statis.
Kata kunci
Untuk memanggil komponen layanan ini, atur properti CursorLocation objek Recordset atau Connection ke adUseClient.
connection.CursorLocation=adUseClient
recordset.CursorLocation=adUseClient
Properti Dinamis
Saat Layanan Kursor untuk OLE DB dipanggil, properti dinamis berikut ditambahkan ke kumpulan Properti objek Recordset. Daftar lengkap properti dinamis objek Koneksi dan Recordset tercantum dalam Indeks Properti Dinamis ADO. Nama properti OLE DB terkait, jika sesuai, disertakan dalam tanda kurung setelah nama properti ADO.
Perubahan pada beberapa properti dinamis tidak terlihat oleh sumber data yang mendasar setelah Layanan Kursor dipanggil. Misalnya, mengatur properti Waktu Habis Perintah pada Recordset tidak akan terlihat oleh penyedia data yang mendasar.
Recordset1.CursorLocation = adUseClient 'invokes cursor service
Recordset1.Open "authors", _
"Provider=SQLOLEDB;Data Source=DBServer;User Id=MyUserID;" & _
"Password=MyPassword;Initial Catalog=pubs;",,adCmdTable
Recordset1.Properties.Item("Command Time out") = 50
' 'Command Time out' property on DBServer is still default (30).
Jika aplikasi Anda memerlukan Layanan Kursor, tetapi Anda perlu mengatur properti dinamis pada penyedia dasar, atur properti sebelum memanggil Layanan Kursor. Pengaturan properti objek perintah selalu diteruskan ke penyedia data yang mendasar terlepas dari lokasi kursor. Oleh karena itu, Anda juga dapat menggunakan objek perintah untuk mengatur properti kapan saja.
Catatan
Properti dinamis DBPROP_SERVERDATAONINSERT tidak didukung oleh layanan kursor, meskipun didukung oleh penyedia data yang mendasar.
Nama Properti | Deskripsi |
---|---|
Auto Recalc (DBPROP_ADC_AUTORECALC) | Untuk recordset yang dibuat dengan Layanan Pembentukan Data, nilai ini menunjukkan seberapa sering kolom terhitung dan agregat dihitung. Default (value=1) adalah menghitung ulang setiap kali Layanan Pembentukan Data menentukan bahwa nilai telah berubah. Jika nilainya adalah 0, kolom terhitung atau agregat hanya dihitung saat hierarki awalnya dibuat. |
Ukuran Batch (DBPROP_ADC_BATCHSIZE) | Menunjukkan jumlah pernyataan pembaruan yang dapat di-batch sebelum dikirim ke penyimpanan data. Semakin banyak pernyataan dalam batch, semakin sedikit perjalanan pulang pergi ke penyimpanan data. |
Baris Anak Singgahan (DBPROP_ADC_CACHECHILDROWS) | Untuk kumpulan catatan yang dibuat dengan Layanan Pembentukan Data, nilai ini menunjukkan apakah kumpulan catatan anak disimpan dalam cache untuk digunakan nanti. |
Versi Mesin Kursor (DBPROP_ADC_CEVER) | Menunjukkan versi Layanan Kursor yang digunakan. |
Pertahankan Status Perubahan (DBPROP_ADC_MAINTAINCHANGESTATUS) | Menunjukkan teks perintah yang digunakan untuk menyinkronkan ulang satu atau beberapa baris dalam beberapa gabungan tabel. |
Optimalkan | Menunjukkan apakah indeks harus dibuat. Ketika diatur ke True, mengotorisasi pembuatan sementara indeks untuk meningkatkan eksekusi operasi tertentu. |
Bentuk Ulang Nama | Menunjukkan nama Recordset. Dapat direferensikan dalam perintah pembentukan data saat ini, atau berikutnya. |
Perintah Sinkronisasi Ulang | Menunjukkan string perintah kustom yang digunakan oleh metode Resync saat properti Tabel Unik berlaku. |
Katalog Unik | Menunjukkan nama database yang berisi tabel yang dirujuk dalam properti Tabel Unik . |
Skema Unik | Menunjukkan nama pemilik tabel yang dirujuk di properti Tabel Unik . |
Tabel Unik | Menunjukkan nama satu tabel dalam Recordset yang dibuat dari beberapa tabel yang dapat dimodifikasi oleh penyisipan, pembaruan, atau penghapusan. |
Kriteria Pembaruan (DBPROP_ADC_UPDATECRITERIA) | Menunjukkan bidang mana dalam klausa WHERE yang digunakan untuk menangani tabrakan yang terjadi selama pembaruan. |
Perbarui Sinkronisasi Ulang (DBPROP_ADC_UPDATERESYNC) | Menunjukkan apakah metode Sinkronisasi Ulang secara implisit dipanggil setelah metode UpdateBatch (dan perilakunya), ketika properti Tabel Unik berlaku. |
Anda juga dapat mengatur atau mengambil properti dinamis dengan menentukan namanya sebagai indeks ke koleksi Properti . Misalnya, dapatkan dan cetak nilai saat ini dari properti dinamis Optimalkan , lalu tetapkan nilai baru, sebagai berikut:
Debug.Print rs.Properties("Optimize")
rs.Properties("Optimize") = True
Perilaku Properti Bawaan
Layanan Kursor untuk OLE DB juga memengaruhi perilaku properti bawaan tertentu.
Nama Properti | Deskripsi |
---|---|
Cursortype | Melengkapi jenis kursor yang tersedia untuk Recordset. |
LockType | Melengkapi jenis kunci yang tersedia untuk Recordset. Mengaktifkan pembaruan batch. |
urutkan | Menentukan satu atau beberapa nama bidang tempat Recordset diurutkan, dan apakah setiap bidang diurutkan dalam urutan naik atau turun. |
Perilaku Metode
Layanan Kursor untuk OLE DB memungkinkan atau memengaruhi perilaku metode Tambahkan objek Bidang; dan metode Buka, Sinkronkan Ulang, PerbaruiBatch, dan Simpan objek Recordset.