ODBC vs OLEDB
Biasanya, aplikasi perisian ditulis dalam bahasa pengaturcaraan tertentu (seperti Java, C #, dan sebagainya), 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 antara satu sama lain (aplikasi dan pangkalan data) diperlukan. Jika tidak, pengaturcara aplikasi perlu belajar dan memasukkan bahasa-bahasa khusus pangkalan data dalam aplikasi mereka. ODBC (Open Database Connectivity) dan OLEDB (Objek Menghubungkan dan Embedding, Database) adalah dua antara muka yang menyelesaikan masalah khusus ini. ODBC adalah platform, bahasa dan sistem operasi antara muka yang bebas yang boleh digunakan untuk tujuan ini. OLEDB adalah pengganti ODBC.
Apakah itu ODBC??
ODBC adalah antara muka untuk mengakses sistem pengurusan pangkalan data (DBMS). ODBC telah dibangunkan oleh SQL Access Group pada tahun 1992 pada masa tidak ada medium standard untuk berkomunikasi antara pangkalan data dan aplikasi. Ia tidak bergantung kepada bahasa pengaturcaraan tertentu atau sistem pangkalan data atau sistem operasi. Pengaturcara boleh menggunakan antara muka ODBC untuk menulis aplikasi yang boleh meminta data dari sebarang pangkalan data, tanpa mengira persekitaran yang sedang dijalankan atau jenis DBMS yang digunakannya.
Kerana pemandu ODBC bertindak sebagai penterjemah antara aplikasi dan pangkalan data, ODBC dapat mencapai kemerdekaan bahasa dan platform. Ini bermakna bahawa aplikasi itu dilepaskan daripada beban mengetahui bahasa tertentu pangkalan data. Sebaliknya ia hanya akan mengetahui dan menggunakan sintaks ODBS dan pemandu akan menterjemahkan pertanyaan kepada pangkalan data dalam bahasa yang dapat difahaminya. Kemudian, keputusan dikembalikan dalam format yang dapat difahami oleh aplikasi. API perisian ODBC boleh digunakan dengan kedua-dua sistem pangkalan data relational dan non relational. Satu lagi kelebihan utama untuk memiliki ODBC sebagai middleware sejagat antara aplikasi dan pangkalan data ialah setiap kali spesifikasi pangkalan data berubah, perisian tidak perlu dikemas kini. Hanya kemas kini kepada pemandu ODBC akan mencukupi.
Apa itu OLEDB?
OLEDB adalah API data yang dibangunkan oleh Microsoft. Ia membolehkan untuk mengakses data dari pelbagai sumber data yang besar. Ia dilaksanakan menggunakan COM Microsoft (Mod Objek Komponen). OLEDB dianggap pengganti ODBC, dan ia boleh mengendalikan sumber data pada tahap yang lebih tinggi berbanding dengan ODBC. Pada dasarnya, OLEDB memanjangkan ciri-ciri ODBC ke pangkalan data bukan relasi (mis. Pangkalan data objek dan spreadsheet). Maksudnya, OLEDB boleh digunakan dengan pangkalan data yang tidak menggunakan SQL. OLEDB telah dibangunkan sebagai sebahagian daripada Komponen Akses Data Microsoft (MDAC).
Apakah perbezaan antara ODBC dan OLEDB??
Jika pengaturcara tidak dikenali dengan COM, maka ODBC adalah pilihan yang lebih baik. Tetapi, ODBC hanya baik untuk pangkalan data hubungan, sedangkan OLEDB sesuai untuk pangkalan data hubungan dan bukan relasi. Jika pangkalan data tidak menyokong OLE (persekitaran bukan OLE) maka ODBC adalah pilihan terbaik. Sekiranya persekitaran adalah bukan SQL, maka anda perlu menggunakan OLEDB (kerana ODBC berfungsi hanya dengan SQL). Begitu juga, jika komponen pangkalan data boleh dikendalikan, maka OLEDB perlu digunakan dan bukannya ODBC. Walau bagaimanapun, untuk data 16-bit yang mengakses ODBC adalah satu-satunya pilihan (OLEDB tidak menyokong 16-bit). Akhirnya, OLEDB adalah pilihan terbaik untuk menyambung ke banyak pangkalan data sekaligus (ODBC boleh menyambung kepada satu pangkalan data sekaligus).