如果讓你接觸一樣新的東西,你可能感覺無所適從,但是如果本來就是舊事物的話,你學習起來還難嗎?
ODBC(Open Database Connectivity)是微軟公司與數據庫的接口規范。
1.ODBC,建立了一組規范並提供了一組對數據庫訪問的標准API,標准應用程序數據接口。
2.ODBC是用C語言實現的,裡面用到了大量的指針。
3.ODBC驅動程式的使用把應用程式從具體的數據庫調用中隔離開來,驅動程式管理器針對特定數據庫的各個驅動程式進行集中管理,並向應用程式提供統一的標准接口,
4.結構模型:分為四部分,應用程序接口,驅動器管理器,數據庫驅動器和數據源。具體看圖:
JAVA語言的出現,風靡全球。當時JAVA人員用ODBC來操作數據庫應用程序的時候,遇到了很多的麻煩,比如ODBC是使用C語言實現的,並且包含大量的指針,這對JAVA完全面向對象的思想是一個很大的沖突,導致了JAVA的很多優秀特性無法使用,比如平台無關性,面向對象特性等。
於是,應呼聲而起,SUN公司開發了一套專門java語言為接口的數據庫應用程序開發接口。
JDBC(Java DataBase Connectivity)是Java與數據庫的接口規范。
1.JDBC定義了一個支持標准SQL功能的通用低層的應用程序編程接口(API)。
2.JDBC是用java語言實現的,完全面向對象的思想,具有平台無關性,一致性強,安全穩定,分布式,易用等優點,並且還擴展了java的能力。
3.JDBC是Java通過數據庫驅動與數據庫進行通信,利用Java的平台無關性,JDBC應用程式能自然地實現跨平台特性,因而更適合於internet上異構環境的數據庫應用。(與ODBC一樣)
4.結構模型:分為四部分,應用程序接口,驅動器管理器,數據庫驅動器和數據源。(與ODBC一樣)具體看圖:
1.JDBC與ODBC都是基於X/Open的SQL調用級接口;
2.JDBC很多設計思想沿襲了ODBC,包括許多抽象和SQL CLI實現;.ODBC與JDBC都提供對SQL語言的支持;
3.JDBC的總體結構類似於ODBC,如圖:
1.ODBC是由微軟公司,用C語言編寫的,其中用到了大量的指針;JDBC是由SUN公司,用JAVA語言編寫的,完全面向對象的思想。
2.ODBC難以學習,ODBC把簡單功能和復雜功能混雜在一起,即便是簡單的事情也會帶來復雜的操作;JDBC易於學習,設計理念是簡單的事情簡單做,必要時才會讓用戶使用高級功能。
3.ODBC的驅動器管理程序和驅動器必須手工安裝到每台客戶機上;JDBC的驅動器由於全是用JAVA編寫,所以JDBC可以在所有的JAVA平台上自動安裝。
JDBC-ODBC,它出現的原因很簡單:我們有時候需要用JAVA語言連接微軟的數據庫,但是由於微軟的數據庫不是由JAVA編寫的,所以我們需要一個橋連接。
具體的實現就不在這裡提及了,但是有一點需要注意的是,JDBC是使用JAVA的數據庫驅動直接和數據庫相連,而JDBC-ODBC連接的是ODBC的數據源,真正與數據庫建立連接的是ODBC!
技術上該總結的都在比較中總結出來的,在這裡只想說明一點,我自己從一開始打算弄懂JDBC,然後又想到了ODBC,可是對於ODBC也僅限於用過,所以感覺很亂,整理了幾天之後,就發現,最能夠讓自己搞清關系的是“追本溯源”,從“根”上查起,這就有種知識網再生長,往外擴展或者更加密集的感覺,而不是突兀的出現一個點,讓自己絞盡腦汁,生搬硬套的找關系,而是自然而然的,順生長,感覺還是這樣的學習比較好,而且有效率,推薦給大家!