Posted on 2010-07-25 21:11
斷點 閱讀(674)
評論(0) 編輯 收藏 所屬分類:
WebLogic 10 知識
1、Type 1類型驅動,JDBC-ODBC橋
通常運行Windows平臺,需要在客戶端安裝ODBC驅動,早期Java訪問數據庫的主要方式,效率較低。
適用于快速的原型系統,沒有提供JDBC驅動的數據庫如Access ,由于包含多個驅動程序層,其性能一般不適合生產系統
Java-->JDBC-ODBC Bridge---->JDBC-ODBC Library--->ODBC Driver-->Database
驅動程序的類名稱是 sun.jdbc.odbc.JdbcOdbcDriver
JDBC URL 的形式為 jdbc:odbc:dsn(dsn 是使用 ODBC 管理員注冊數據庫的數據源名稱)
不是100%JAVA程序,與ODBC之間的接口采用非JAVA方式調用,因此不能在APPLET中使用
{
String url = "jdbc:odbc:jdbc" ;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(url, "java", "sun");
}
2、Type 2類型驅動,需要在客戶端安裝數據庫的本地驅動,JDBC請求會轉換為對數據庫本地API的調用。
利用開發商提供的本地庫來直接與數據庫通信。
Java-->JDBC-Driver-->DB Client Library-->Database
繞過了ODBC層,性能優于Type1
也稱為部分 Java 驅動程序,因為它們直接將 JDBC API 翻譯成具體數據庫的API
使用第二種模型將開發者限制在數據庫廠商的客戶機庫支持的客戶機平臺和操作系統
Oracle的OCI驅動就屬于Type2
3、Type 3類型驅動,DBC請求通過網絡服務器層實現,在網絡服務器層可以實現負載均衡,連接池管理等。
第三種驅動程序是純 Java 驅動程序,它將 JDBC API 轉換成獨立于數據庫的協議。JDBC 驅動程序并沒有直接和數據庫進行通訊;它和一個中間件服務器通訊,然后這個中間件服務器和數據庫進行通訊。這種額外的中間層次提供了靈活性:可以用相同的代碼訪問不同的數據庫,因為中間件服務器隱藏了 Java 應用程序的細節。要轉到不同的數據庫,您只需在中間件服務器上改變參數。(有一點需要注意:中間件服務器必須支持您訪問的數據庫格式。)
第三種驅動程序的缺點是,額外的中間層次可能有損整體系統性能。另一方面,如果應用程序需要和不同的數據庫格式進行交互,第三種驅動程序是個有效的方法,因為不管底層的數據庫是什么,都使用同樣的 JDBC 驅動程序。另外,因為中間件服務器可以安裝在專門的硬件平臺上,可以利用總的結果進行一些優化。
Java--->Jdbc Driver(Type3 jdbc driver)----->java middleware--->JDBC Driver---->Database
Weblogic的Pool驅動程序就是一個Type3的JDBC驅動程序。
4、Type 4類型驅動,為純Java實現,不需要任何客戶端設置。
OCI驅動程序利用Java本地化接口(JNI),通過Oracle客戶端軟件與數據庫進行通訊。Thin驅動程序是純Java驅動程序,它直接與數據庫進行通訊。
JDBC應用的兩種架構
兩層架構:客戶程序直接對數據庫發起JDBC請求,Type1、2、4支持兩層架構。
多層架構:客戶程序將JDBC請求發送到中間層,中間層再將請求發送到數據庫。