JDBC的最大特點是它獨立於詳細的關系數據庫。與ODBC (Open Database Connectivity)類似, JDBC API 中定義了一些Java類分別用來表示與數據庫的連接(connections), SQL語句(SQL statements), 結果集(result sets)以及其他的數據庫對象, 使得Java程序能方便地與數據庫交互並處理所得的結果。使用JDBC, 全部Java程序(包括Java applications , applets和servlet)都能通過SQL語句或存儲在數據庫中的過程(stored procedures)來存取數據庫。 要通過JDBC來存取某一特定的數據庫。必須有對應的JDBC driver。它往往是由生產數據庫的廠家提供,是連接JDBC API與詳細數據庫之間的橋梁。
通常。Java程序首先使用JDBC API來與JDBC Driver Manager交互,由JDBC Driver Manager加載指定的JDBC drivers, 以后就能夠通過JDBC API來存取數據庫。 ODBC(Open Database Connectivity,開放數據庫互連)是微軟公司開放服務結構(WOSA,Windows Open Services Architecture)中有關數據庫的一個組成部分。它建立了一組規范,並提供了一組對數據庫訪問的標准API(應用程序編程接口)。這些API利用SQL來完畢其大部分任務。ODBC本身也提供了對SQL語言的支持,用戶能夠直接將SQL語句送給ODBC。
一個基於ODBC的應用程序對數據庫的操作不依賴不論什么DBMS,不直接與DBMS打交道,全部的數據庫操作由對應的DBMS的ODBC驅動程序完畢。也就是說。不論是FoxPro、Access還是Oracle數據庫,均可用ODBC API進行訪問。
由此可見。ODBC的最大長處是能以統一的方式處理全部的數據庫。 一個完整的ODBC由下列幾個部件組成: 應用程序(Application)。
ODBC管理器(Administrator)。該程序位於Windows 95控制面板(Control Panel)的32位ODBC內。其主要任務是管理安裝的ODBC驅動程序和管理數據源。 驅動程序管理器(Driver Manager)。
驅動程序管理器包括在ODBC32.DLL中。對用戶是透明的。
其任務是管理ODBC驅動程序,是ODBC中最重要的部件。 ODBC API。
ODBC 驅動程序。是一些DLL,提供了ODBC和數據庫之間的接口。 數據源。數據源包括了數據庫位置和數據庫類型等信息。實際上是一種數據連接的抽象。
各部件之間的關系如圖下圖所看到的: 應用程序要訪問一個數據庫,首先必須用ODBC管理器注冊一個數據源。管理器依據數據源提供的數據庫位置、數據庫類型及ODBC驅動程序等信息,建立起ODBC與詳細數據庫的聯系。這樣,僅僅要應用程序將數據源名提供給ODBC,ODBC就能建立起與對應數據庫的連接。
在ODBC中,ODBC API不能直接訪問數據庫。必須通過驅動程序管理器與數據庫交換信息。驅動程序管理器負責將應用程序對ODBC API的調用傳遞給正確的驅動程序,而驅動程序在執行完對應的操作后。將結果通過驅動程序管理器返回給應用程序。 在訪問ODBC數據源時須要ODBC驅動程序的支持。用Visual C++ 5.0安裝程序能夠安裝SQL Server、 Access、 Paradox、 dBase、 FoxPro、 Excel、 Oracle 和Microsoft Text等驅動程序.在缺省情況下,VC5.0僅僅會安裝SQL Server、 Access、 FoxPro和dBase的驅動程序.假設用戶須要安裝別的驅動程序,則須要又一次執行VC 5.0的安裝程序並選擇所需的驅動程序。