為什麼建立 ODBC?
以前,公司使用的是單一 DBMS。 所有資料庫的存取都是透過該系統的前端,或透過為了以獨佔方式與該系統搭配運作而撰寫的應用程式來完成。 不過,隨著電腦的使用越來越多,以及有更多的電腦軟硬體可供使用,公司開始取得不同的 DBMS。 原因很多:採購人員購買最便宜的系統、最快速的系統、他們已知的系統、市面上最新的系統、最適合某個單一應用程式的系統。 其他原因則有重組和合併,因此以前只有單一 DBMS 的部門現在擁有數個 DBMS。
隨著個人電腦問世,問題變得更加複雜。 這些電腦購入了許多用於查詢、分析和顯示資料的工具,以及一些低成本且容易使用的資料庫。 從那時起,一家公司便常常會將資料四處散佈在大量的桌上型電腦、伺服器和迷你電腦上、儲存在各種不相容的資料庫中,以及供大量的不同工具來存取,其中則有少數可以取得所有資料。
最後一項挑戰來自用戶端/伺服器運算的問世,這種運算方式會尋求以最有效率地方式使用電腦資源。 低成本的個人電腦 (用戶端) 放在桌上,並同時針對資料以及一些便宜的工具 (例如,試算表、圖表程式和報表產生器) 提供圖形化前端。 迷你電腦和大型主機電腦 (伺服器) 會裝載 DBMS,這些電腦可以使用其運算能力和中央位置來提供快速協調的資料存取。 那麼,前端軟體是如何連線到後端資料庫呢?
獨立軟體廠商 (ISV) 面臨類似的問題。 為迷你電腦和大型主機撰寫資料庫軟體的廠商,通常會被迫為每個 DBMS 撰寫一個應用程式版本,或被迫針對其想要存取的每個 DBMS 撰寫 DBMS 特定的程式碼。 為個人電腦撰寫軟體的廠商,則必須針對其想要運作的每個不同 DBMS 撰寫資料存取常式。 這往往代表必須花費大量的資源來撰寫和維護資料存取常式 (而非應用程式),而且應用程式往往不是因為其品質而獲得消費者青睞,而是因為其可以存取指定 DBMS 中的資料。
這兩組開發人員所需要的,是能夠存取不同 DBMS 資料的方法。 大型主機和迷你電腦群體所需要的,是能夠將不同 DBMS 的資料合併到單一應用程式中的方法,至於個人電腦群體所需要的,則是要能夠撰寫一個不會只相依於任何一個 DBMS 的應用程式。 簡單地說,這兩個群體都需要可互通的資料存取方式;他們需要的是開放式資料庫連線能力。