ODBC dan OLE DB adalah dua teknologi akses data yang bersaing. Khusus mengenai SQL Server, Microsoft telah mempromosikan keduanya sebagai Arah Pilihan Masa Depan mereka - meskipun pada waktu yang berbeda.
ODBC
ODBC adalah antarmuka standar industri untuk mengakses data seperti tabel. Ini terutama dikembangkan untuk database dan menyajikan data dalam koleksi catatan, yang masing-masing dikelompokkan ke dalam kumpulan bidang. Setiap bidang memiliki tipe data sendiri yang cocok dengan jenis data yang dikandungnya. Setiap vendor basis data (Microsoft, Oracle, Postgres, ...) memasok driver ODBC untuk basis data mereka.
Ada juga driver ODBC untuk objek yang, meskipun mereka bukan tabel database, cukup mirip bahwa mengakses data dengan cara yang sama berguna. Contohnya adalah spreadsheet, file CSV, dan laporan kolom.
OLE DB
OLE DB adalah teknologi Microsoft untuk akses ke data. Tidak seperti ODBC, ia mencakup data seperti tabel dan non-tabel seperti pesan email, halaman web, dokumen Word, dan direktori file. Namun, ini lebih berorientasi pada prosedur daripada berorientasi objek dan dianggap sebagai antarmuka yang agak sulit untuk mengembangkan akses ke sumber data. Untuk mengatasinya, ADO dirancang untuk menjadi lapisan berorientasi objek di atas OLE DB dan untuk memberikan cara yang lebih sederhana dan tingkat yang lebih tinggi - meskipun masih sangat kuat - untuk bekerja dengannya. Keuntungan besar ADO adalah Anda dapat menggunakannya untuk memanipulasi properti yang spesifik untuk jenis sumber data tertentu, semudah Anda menggunakannya untuk mengakses properti yang berlaku untuk semua jenis sumber data. Anda tidak terbatas pada beberapa penyebut umum terendah yang tidak memuaskan.
Sementara semua database memiliki driver ODBC, mereka tidak semua memiliki driver OLE DB. Namun ada antarmuka yang tersedia antara OLE dan ODBC yang dapat digunakan jika Anda ingin mengaksesnya dengan cara seperti OLE DB. Antarmuka ini disebut MSDASQL (Microsoft OLE DB provider untuk ODBC).
Teknologi Akses Data SQL Server
Sejak SQL Server adalah (1) yang dibuat oleh Microsoft, dan (2) yang platform database Microsoft, baik ODBC dan OLE DB adalah cocok alami untuk itu.
ODBC
Karena semua platform database lain memiliki antarmuka ODBC, Microsoft jelas harus menyediakan satu untuk SQL Server. Selain itu, DAO, teknologi default asli di Microsoft Access, menggunakan ODBC sebagai cara standar untuk berbicara dengan semua sumber data eksternal. Ini membuat antarmuka ODBC menjadi sine qua non. Pengandar ODBC versi 6 untuk SQL Server, dirilis dengan SQL Server 2000, masih ada. Versi terbaru telah dirilis untuk menangani tipe data baru, teknologi koneksi, enkripsi, HA / DR dll. Yang telah muncul dengan rilis berikutnya. Pada 09/07/2018 rilis terbaru adalah v13.1 "ODBC Driver untuk SQL Server", dirilis pada 23/03/2018.
OLE DB
Ini adalah teknologi Microsoft sendiri, yang mereka promosikan dengan kuat dari sekitar tahun 2002 - 2005, bersama dengan lapisan ADO yang menyertainya. Mereka jelas berharap bahwa itu akan menjadi teknologi akses data pilihan. (Mereka bahkan menjadikan ADO metode default untuk mengakses data di Access 2002/2003.) Namun, akhirnya menjadi jelas bahwa ini tidak akan terjadi karena sejumlah alasan, seperti:
- Dunia tidak akan mengkonversi ke teknologi Microsoft dan jauh dari ODBC;
- DAO / ODBC lebih cepat dari ADO / OLE DB dan juga diintegrasikan sepenuhnya ke dalam MS Access, jadi tidak akan mati secara alami;
- Teknologi baru yang sedang dikembangkan oleh Microsoft, khususnya ADO.NET, juga dapat berbicara langsung dengan ODBC. ADO.NET dapat berbicara langsung dengan OLE DB juga (sehingga meninggalkan ADO di daerah terpencil), tetapi tidak (tidak seperti ADO) semata-mata bergantung padanya.
Untuk alasan ini dan lainnya , Microsoft sebenarnya tidak lagi menggunakan OLE DB sebagai teknologi akses data untuk rilis SQL Server setelah v11 (SQL Server 2012). Selama beberapa tahun sebelum titik ini, mereka telah memproduksi dan memperbarui SQL Server Native Client, yang mendukung teknologi ODBC dan OLE DB. Namun pada akhir 2012, mereka mengumumkan bahwa mereka akan menyelaraskan dengan ODBC untuk akses data relasional asli dalam SQL Server, dan mendorong semua orang untuk melakukan hal yang sama. Mereka lebih lanjut menyatakan bahwa rilis SQL Server setelah v11 / SQL Server 2012 akan secara aktif tidak mendukung OLE DB!
Pengumuman ini memicu badai protes. Orang-orang bingung untuk memahami mengapa MS tiba-tiba mencela teknologi yang telah mereka habiskan bertahun-tahun untuk membuat mereka berkomitmen. Selain itu, SSAS / SSRS dan SSIS, yang merupakan aplikasi yang ditulis MS yang terkait erat dengan SQL Server, seluruhnya atau sebagian bergantung pada OLE DB. Namun keluhan lain adalah bahwa OLE DB memiliki fitur yang diinginkan tertentu yang tampaknya tidak mungkin untuk kembali ke ODBC - lagipula, OLE DB memiliki banyak poin bagus.
Pada bulan Oktober 2017, Microsoft mengalah dan secara resmi membatalkan OLE DB . Mereka mengumumkan kedatangan driver baru (MSOLEDBSQL) dalam waktu dekat yang akan memiliki set fitur yang ada dari Native Client 11 dan juga akan memperkenalkan multi-subnet failover dan dukungan TLS 1.2. Sopir itu dirilis pada Maret 2018.