一、ODBC到JDBC的發展歷程
說到JDBC,很容易讓人聯想到另一個十分熟悉的字眼ODBC。它們之間有沒有聯系呢?如果有,那么它們之間又是怎樣的關系呢?
ODBC是OpenDatabaseConnectivity的英文簡寫。它是一種用來在相關或不相關的管理系統(DBMS)中存取數據的,用C語言實現的,標準應用程序數據接口。通過ODBCAPI,應用程序可以存取保存在多種不同管理系統(DBMS)中的數據,而不論每個DBMS使用了何種數據存儲格式和編程接口。
1.ODBC的結構模型
ODBC的結構包括四個主要部分:應用程序接口、驅動器管理器、驅動器和數據源。
應用程序接口:屏蔽不同的ODBC驅動器之間函數調用的差別,為用戶提供統一的SQL編程接口。
驅動器管理器:為應用程序裝載驅動器。
驅動器:實現ODBC的函數調用,提供對特定數據源的SQL請求。如果需要,驅動器將修改應用程序的請求,使得請求符合相關的DBMS所支持的文法。
數據源:由用戶想要存取的數據以及與它相關的操作系統、DBMS和用于DBMS的網絡平臺組成。
雖然ODBC驅動器管理器的主要目的是加載驅動器,以便ODBC函數調用,但是驅動器本身也執行ODBC函數調用,并與相互配合。因此當應用系統發出調用與數據源進行連接時,驅動器能管理通信協議。當建立起與數據源的連接時,驅動器便能處理應用系統向DBMS發出的請求,對分析或發自數據源的設計進行必要的翻譯,并將結果返回給應用系統。
2.JDBC的誕生
自從Java語言于1995年5月正式公布以來,Java風靡全球。出現大量的用java語言編寫的程序,其中也包括應用程序。由于沒有一個Java語言的API,編程人員不得不在Java程序中加入C語言的ODBC函數調用。這就使很多Java的優秀特性無法充分發揮,比如平臺無關性、面向對象特性等。隨著越來越多的編程人員對Java語言的日益喜愛,越來越多的公司在Java程序開發上投入的精力日益增加,對java語言接口的的API的要求越來越強烈。也由于ODBC的有其不足之處,比如它并不容易使用,沒有面向對象的特性等等,SUN公司決定開發一Java語言為接口的應用程序開發接口。在JDK1.x版本中,JDBC只是一個可選部件,到了JDK1.1公布時,SQL類包(也就是JDBCAPI)就成為Java語言的標準部件。
二、JDBC技術概述
JDBC是一種可用于執行SQL語句的JavaAPI(ApplicationProgrammingInterface,應用程序設計接口)。它由一些Java語言寫的類、界面組成。JDBC給應用開發人員、前臺工具開發人員提供了一種標準的應用程序設計接口,使開發人員可以用純Java語言編寫完整的應用程序。
通過使用JDBC,開發人員可以很方便地將SQL語句傳送給幾乎任何一種。也就是說,開發人員可以不必寫一個程序Sybase,寫另一個程序Oracle,再寫一個程序Microsoft的SQLServer。用JDBC寫的程序能夠自動地將SQL語句傳送給相應的管理系統(DBMS)。不但如此,使用Java編寫的應用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上編寫不同的應用。Java和JDBC的結合可以讓開發人員在開發應用時真正實現WriteOnce,RunEverywhere!
Java具有健壯、安全、易用等特性,而且支持自動網上下載,本質上是一種很好的應用的編程語言。它所需要的是Java應用如何同各種各樣的連接,JDBC正是實現這種連接的關鍵。
JDBC擴展了Java的能力,如使用Java和JDBCAPI就可以公布一個Web頁,頁中帶有能遠端的Ap?plet。或者企業可以通過JDBC讓全部的職工(他們可以使用不同的操作系統,如Windwos,Machintosh和UNIX)在In?tranet上連接到幾個全球上,而這幾個全球可以是不相同的。隨著越來越多的程序開發人員使用Java語言,對Java易操作性的需求越來越強烈。
MIS管理人員喜歡Java和JDBC,因為這樣可以更容易經濟地公布信息。各種已經安裝在中的事務處理都將繼續正常運行,甚至這些事務處理是存儲在不同的管理系統中;而對新的應用來說,開發時間將縮短,安裝和版本升級將大大簡化。程序員可以編寫或改寫一個程序,然后將它放在服務器上,而每個用戶都可以服務器得到最新的版本。對于信息服務行業,Java和JDBC提供了一種很好的向外界用戶更新信息的方法。
1.JDBC的任務
簡單地說,JDBC能完成下列三件事:
1)同一個建立連接;
2)向發送SQL語句;
3)處理返回的結果。