Templat Penyedia OLE DB (C++)
OLE DB adalah bagian penting dari strategi Microsoft Universal Data Access. Desain OLE DB memungkinkan akses data berkinerja tinggi dari sumber data apa pun. Setiap data tabular dapat dilihat melalui OLE DB terlepas dari apakah itu berasal dari database. Fleksibilitas memberi Anda sejumlah besar daya.
Seperti yang dijelaskan dalam Konsumen dan Penyedia OLE DB, OLE DB menggunakan konsep konsumen dan penyedia. Konsumen membuat permintaan data; penyedia mengembalikan data dalam format tabular kepada konsumen. Dari perspektif pemrograman, implikasi terpenting dari model ini adalah bahwa penyedia harus menerapkan panggilan apa pun yang dapat dilakukan konsumen.
Penyedia OLE DB adalah sekumpulan objek COM yang melayani panggilan antarmuka dari objek konsumen, mentransfer data dalam format tabular dari sumber tahan lama (disebut penyimpanan data) ke konsumen.
Penyedia bisa sederhana atau kompleks. Penyedia dapat mendukung sejumlah fungsionalitas minimal atau penyedia kualitas produksi lengkap dengan menerapkan lebih banyak antarmuka. Penyedia dapat mengembalikan tabel, memungkinkan klien menentukan format tabel tersebut, dan melakukan operasi pada data tersebut.
Setiap penyedia menerapkan sekumpulan objek COM standar untuk menangani permintaan dari klien, dengan arti standar bahwa setiap konsumen OLE DB dapat mengakses data dari penyedia mana pun, terlepas dari bahasa (seperti C++ dan Dasar).
Setiap objek COM berisi beberapa antarmuka, beberapa di antaranya diperlukan dan beberapa di antaranya bersifat opsional. Dengan menerapkan antarmuka wajib, penyedia menjamin tingkat fungsionalitas minimum (disebut kepatuhan) yang harus dapat digunakan klien mana pun. Penyedia dapat menerapkan antarmuka opsional untuk menyediakan fungsionalitas tambahan. Arsitektur Templat Penyedia OLE DB menjelaskan antarmuka ini secara rinci. Klien harus selalu memanggil QueryInterface
untuk menentukan apakah penyedia mendukung antarmuka tertentu.
Templat penyedia OLE DB mendukung spesifikasi OLE DB versi 2.7. Dengan menggunakan templat penyedia OLE DB, Anda dapat menerapkan penyedia yang mematuhi tingkat 0. Sampel Provider
, misalnya, menggunakan templat untuk mengimplementasikan server perintah non-SQL (MS-DOS) yang menjalankan perintah DOS DIR untuk mengkueri sistem file. Sampel Provider
mengembalikan informasi direktori dalam set baris, yang merupakan mekanisme OLE DB standar untuk mengembalikan data tabular.
Jenis penyedia paling sederhana yang didukung oleh templat OLE DB adalah penyedia baca-saja tanpa perintah. Penyedia dengan perintah juga didukung, seperti halnya fitur marka buku dan baca/tulis. Anda dapat menerapkan penyedia baca/tulis dengan menulis kode tambahan. Himpunan baris dan transaksi dinamis tidak didukung oleh versi saat ini, tetapi Anda dapat menambahkannya jika diinginkan.
Anda tidak selalu perlu membuat penyedia Anda sendiri; Microsoft menyediakan beberapa penyedia standar yang telah dikemas sebelumnya dalam kotak dialog Properti Tautan Data di Visual C++. Alasan utama untuk membuat penyedia OLE DB adalah untuk memanfaatkan strategi Universal Data Access. Beberapa keuntungan melakukannya adalah:
Mengakses data melalui bahasa apa pun seperti C++, Basic, dan Visual Basic Scripting Edition. Ini memungkinkan berbagai programmer di organisasi Anda untuk mengakses data yang sama dengan cara yang sama, terlepas dari bahasa apa yang mereka gunakan.
Buka data Anda ke sumber data lain seperti SQL Server, Excel, dan Access. Ini dapat berguna jika Anda ingin mentransfer data di antara format yang berbeda.
Berpartisipasi dalam operasi sumber lintas data (heterogen). Ini bisa menjadi cara pergudangan data yang efektif. Dengan menggunakan penyedia OLE DB, Anda dapat menyimpan data dalam format aslinya dan masih dapat mengaksesnya dalam operasi sederhana.
Menambahkan fitur tambahan ke data Anda, seperti pemrosesan kueri.
Meningkatkan performa mengakses data dengan mengontrol bagaimana data dimanipulasi.
Meningkatkan ketahanan. Jika Anda memiliki format data kepemilikan yang hanya dapat diakses oleh satu programmer, Anda berisiko. Dengan menggunakan penyedia OLE DB, Anda dapat membuka format kepemilikan tersebut ke semua programmer Anda.
Penyedia dapat sangat bervariasi dalam kompleksitas dan fungsionalitas. Ini berguna untuk mengategorikan penyedia ke dalam penyedia baca-saja dan penyedia yang dapat diperbarui:
- Visual C++ 6.0 hanya mendukung penyedia baca-saja. Membuat Penyedia OLE DB membahas cara membuat penyedia baca-saja.
- Visual C++ mendukung penyedia yang dapat diperbarui, yang dapat memperbarui (menulis ke) penyimpanan data. Untuk informasi tentang penyedia yang dapat diperbarui, lihat Membuat Penyedia yang Dapat Diperbarui; sampel UpdatePV adalah contoh penyedia yang dapat diperbarui.
Untuk informasi selengkapnya, lihat:
Akses Data
Dokumentasi OLE DB SDK
Referensi Programmer OLE DB