ODBC lwn OLEDB
Biasanya, aplikasi perisian ditulis dalam bahasa pengaturcaraan tertentu (seperti Java, C, dll.), manakala pangkalan data menerima pertanyaan dalam beberapa bahasa khusus pangkalan data lain (seperti SQL). Oleh itu, apabila aplikasi perisian perlu mengakses data dalam pangkalan data, antara muka yang boleh menterjemah bahasa antara satu sama lain (aplikasi dan pangkalan data) diperlukan. Jika tidak, pengaturcara aplikasi perlu mempelajari dan menggabungkan bahasa khusus pangkalan data dalam aplikasi mereka. ODBC (Open Database Connectivity) dan OLEDB (Object Linking and Embedding, Database) ialah dua antara muka yang menyelesaikan masalah khusus ini. ODBC ialah antara muka bebas platform, bahasa dan sistem pengendalian yang boleh digunakan untuk tujuan ini. OLEDB ialah pengganti ODBC.
Apakah itu ODBC?
ODBC ialah antara muka untuk mengakses sistem pengurusan pangkalan data (DBMS). ODBC telah dibangunkan oleh SQL Access Group pada tahun 1992 pada masa yang tiada medium standard untuk berkomunikasi antara pangkalan data dan aplikasi. Ia tidak bergantung pada bahasa pengaturcaraan tertentu atau sistem pangkalan data atau sistem pengendalian. Pengaturcara boleh menggunakan antara muka ODBC untuk menulis aplikasi yang boleh menanyakan data daripada mana-mana pangkalan data, tanpa mengira persekitaran yang sedang dijalankan atau jenis DBMS yang digunakannya.
Oleh kerana pemacu ODBC bertindak sebagai penterjemah antara aplikasi dan pangkalan data, ODBC dapat mencapai kebebasan bahasa dan platform. Ini bermakna bahawa aplikasi itu dibebaskan daripada beban mengetahui bahasa khusus pangkalan data. Sebaliknya ia hanya akan mengetahui dan menggunakan sintaks ODBS dan pemandu akan menterjemahkan pertanyaan kepada pangkalan data dalam bahasa yang boleh difahaminya. Kemudian, keputusan dikembalikan dalam format yang boleh difahami oleh aplikasi. API perisian ODBC boleh digunakan dengan kedua-dua sistem pangkalan data hubungan dan bukan hubungan. Satu lagi kelebihan utama mempunyai ODBC sebagai perisian tengah universal antara aplikasi dan pangkalan data ialah setiap kali spesifikasi pangkalan data berubah, perisian tidak perlu dikemas kini. Hanya kemas kini kepada pemacu ODBC sudah memadai.
Apakah itu OLEDB?
OLEDB ialah API data yang dibangunkan oleh Microsoft. Ia membolehkan untuk mengakses data daripada pelbagai sumber data. Ia dilaksanakan menggunakan COM (Mod Objek Komponen) Microsoft. OLEDB dianggap sebagai pengganti kepada ODBC, dan ia boleh mengendalikan sumber data dalam tahap yang lebih tinggi berbanding dengan ODBC. Pada dasarnya, OLEDB memanjangkan ciri ODBC kepada pangkalan data bukan perhubungan (cth. pangkalan data objek dan hamparan). Ini bermakna, OLEDB boleh digunakan dengan pangkalan data yang tidak menggunakan SQL. OLEDB dibangunkan sebagai sebahagian daripada Komponen Akses Data Microsoft (MDAC).
Apakah perbezaan antara ODBC dan OLEDB?
Jika pengaturcara tidak biasa dengan COM, maka ODBC ialah pilihan yang lebih baik. Tetapi, ODBC hanya baik untuk pangkalan data hubungan, manakala OLEDB sesuai untuk pangkalan data hubungan dan bukan hubungan. Jika pangkalan data tidak menyokong OLE (persekitaran bukan OLE) maka ODBC ialah pilihan terbaik. Jika persekitaran bukan SQL, maka anda perlu menggunakan OLEDB (kerana ODBC berfungsi hanya dengan SQL). Begitu juga, jika komponen pangkalan data saling kendali diperlukan, maka OLEDB perlu digunakan dan bukannya ODBC. Walau bagaimanapun, untuk data 16-bit mengakses ODBC adalah satu-satunya pilihan (OLEDB tidak menyokong 16-bit). Akhir sekali, OLEDB ialah pilihan terbaik untuk menyambung ke berbilang pangkalan data sekaligus (ODBC boleh menyambung ke hanya satu pangkalan data pada satu masa).