Mengapa ODBC Dibuat?
Secara historis, perusahaan menggunakan satu DBMS. Semua akses database dilakukan baik melalui ujung depan sistem tersebut atau melalui aplikasi yang ditulis untuk bekerja secara eksklusif dengan sistem tersebut. Namun, seiring bertambahnya penggunaan komputer dan semakin banyak perangkat keras dan perangkat lunak komputer yang tersedia, perusahaan mulai memperoleh DBMS yang berbeda. Alasannya banyak: Orang membeli apa yang termurah, apa yang tercepat, apa yang sudah mereka ketahui, apa yang terbaru di pasar, apa yang paling cocok untuk satu aplikasi. Alasan lain adalah reorganisasi dan merger, di mana departemen yang sebelumnya memiliki satu DBMS sekarang memiliki beberapa.
Masalah ini semakin kompleks dengan munculnya komputer pribadi. Komputer ini membawa sejumlah alat untuk mengkueri, menganalisis, dan menampilkan data, bersama dengan sejumlah database yang murah dan mudah digunakan. Sejak saat itu, satu perusahaan sering memiliki data yang tersebar di berbagai desktop, server, dan minikomputer, disimpan dalam berbagai database yang tidak kompatibel, dan diakses oleh sejumlah besar alat yang berbeda, beberapa di antaranya bisa mendapatkan semua data.
Tantangan terakhir datang dengan munculnya komputasi klien/server, yang berusaha membuat penggunaan sumber daya komputer yang paling efisien. Komputer pribadi murah (klien) berada di desktop dan menyediakan ujung depan grafis ke data dan sejumlah alat murah, seperti spreadsheet, program pembuatan bagan, dan penyusun laporan. Minikomputer dan komputer mainframe (server) menghosting DBMS, di mana mereka dapat menggunakan daya komputasi dan lokasi pusat mereka untuk menyediakan akses data yang cepat dan terkoordinasi. Bagaimana kemudian perangkat lunak front-end tersambung ke database back-end?
Masalah serupa dihadapi vendor perangkat lunak independen (ISV). Vendor yang menulis perangkat lunak database untuk minikomputer dan mainframe biasanya dipaksa untuk menulis satu versi aplikasi untuk setiap DBMS atau menulis kode khusus DBMS untuk setiap DBMS yang ingin mereka akses. Vendor yang menulis perangkat lunak untuk komputer pribadi harus menulis rutinitas akses data untuk setiap DBMS yang berbeda yang ingin mereka kerjakan. Ini sering berarti sejumlah besar sumber daya dihabiskan untuk menulis dan memelihara rutinitas akses data daripada aplikasi, dan aplikasi sering dijual tidak pada kualitasnya tetapi pada apakah mereka dapat mengakses data dalam DBMS tertentu.
Kedua set pengembang yang diperlukan adalah cara untuk mengakses data di DBMS yang berbeda. Grup mainframe dan minicomputer membutuhkan cara untuk menggabungkan data dari DBMS yang berbeda dalam satu aplikasi, sementara grup komputer pribadi membutuhkan kemampuan ini serta cara untuk menulis satu aplikasi yang independen dari satu DBMS. Singkatnya, kedua grup memerlukan cara yang dapat dioperasikan untuk mengakses data; mereka membutuhkan konektivitas database terbuka.