Oracle 10gR2 JDBC介紹
Oracle JDBC介紹
公司設計開發的系統大部分都是使用的Oracle JDBC,以前就知道用它,沒有很好的研究過它,它的功能還是很強大的。今天看了下Readme.txt結合自己的工作做了個整理。
下面以Oracle 10gR2的JDBC做一下說明。
10gR2版本的JDBC完全支援J2SE 5.0規範。J2SE5.0本身是支援JDBC 3.0規範的。我們使用的JDK1.5就是符合J2SE 5.0規範。如果使用的JDK遵循的是J2SE5.0之前的版本就無法使用下面提到的JDBC新特性。J2SE 5.0之前的規範也是不被Oracle官方支援的。
在10.1.0.1.0版本中的支援國際字符集的包nls_charset12.jar在10gR2中被更名為orai18n.jar。這個檔案存放路徑為[ORACLE_HOME]/jlib/目錄下。這個檔案不僅僅用於jdbc連線,其他的java程式也可以使用此包。如果程式需要用到該檔案,CLASSPATH環境變數,加入[ORACLE_HOME]/jlib/orai18n.jar。
JDBC新特性:
執行時連線負載均衡
利用RAC負載均衡顧問根據實時的負載和效能資訊動態的分配或重新分配連線。
XA連線池
Oracle JDBC長時間支援連線池,但是以前並不支援XA連線池,10gR2開始,開始支援XA連線池。
DML返回
DML返回支援在透過THIN和OCI驅動連線資料庫的時候,執行insert,pdate,delete返回結果集。
可以透過觸發器或者自動生成關鍵字返回被修改的欄位。
行集合(ROWSETS)
rowsets實現了新功能,oracle.jdbc.rowset更新實現了這些功能。
SSL
可以透過ssl(Secure Socket Layer)連線到關係型資料庫。
驅動版本:
JDBC Thin Driver 10.2.0.1.0
應用程式,中介軟體,APPLET等使用的100%的JAVA客戶端驅動。
JDBC OCI Driver 10.2.0.1.0
呼叫機器安裝的10.2.0.1版本oci的JDBC驅動。
JDBC Thin Server-side Driver 10.2.0.1.0
Java程式在資料庫中訪問遠端Oracle資料的JDBC驅動。
JDBC Server-side Internal Driver 10.2.0.1.0
Java儲存過程使用的伺服器端JDBC驅動。這個驅動被"JDBC Kprb Driver"來呼叫。
[ORACLE_HOME]/jdbc/lib的內容:
classes12.jar
在JDK1.2,1.3環境下使用的類。包含了JDBC驅動類。但是不包含對資料庫物件、Collection型別nls支援的類。
classes12_g.jar
除了用java -g編譯的,有一些跟蹤資訊外,其他和classes12.jar是相同的。
classes12dms.jar
除了有一些額外的程式碼支援Oracle動態監控服務,其他和classes12.jar是相同的,Oracle動態監控服務只有當dms.jar在classpath環境變數中才能使用到。dms.jar作為最近釋出的Oracle Application Server的版本一起提供。
classes12dms_g.jar
除了用java -g編譯的,有一些跟蹤資訊外,其他和classes12dms.jar是相同的。
ojdbc14.jar
在J2SE1.4,5.0環境下使用的類。包含了JDBC驅動類。但是不包含對資料庫物件、Collection型別nls支援的類。
ojdbc14_g.jar
除了用java -g編譯的,有一些跟蹤資訊外,其他和ojdbc14.jar是相同的。
ojdbc14dms.jar
除了有一些額外的程式碼支援Oracle動態監控服務,其他和ojdbc14.jar是相同的,Oracle動態監控服務只有當dms.jar在classpath環境變數中才能使用到。dms.jar作為最近釋出的Oracle Application Server的版本一起提供。
ojdbc14dms_g.jar
除了用java -g編譯的,有一些跟蹤資訊外,其他和ojdbc14dms.jar是相同的。
[ORACLE_HOME]/jlib/orai18n.jar
在JDK 1.2, 1.3, 1.4, and 5.0環境下使用的NLS類。包含了對資料庫物件、Collection型別nls支援的類。這個類替代了老的nls_charset jar或zip檔案。
OCI庫檔案:
Windows環境:
[ORACLE_HOME]\bin下的ocijdbc10.dll和heteroxa10.dll是被JDBC OCI驅動呼叫的庫檔案。
非Windows環境:
[ORACLE_HOME]/lib目錄下的libocijdbc10.so,libocijdbc10_g.so, libheteroxa10.so 和 libheteroxa10_g.so是被JDBC OCI驅動使用的共享庫檔案。
安裝JDBC:
請不要設定多個版本的Oracle jdbc驅動在你的classpath環境變數中。Oracle安裝的時候jdbc驅動預設是被放在[Oracle_Home]/jdbc目錄下。
設定你的環境:
windows平臺:
如果你使用的是JDK 1.2 or 1.3,新增[ORACLE_HOME]\jdbc\lib\classes12.jar到你的CLASSPATH環境變數中,如果使用的是JDK1.4,新增[ORACLE_HOME]\jdbc\lib\ojdbc14.jar到你的CLASSPATCH環境變數中。
如果需要,新增[ORACLE_HOME]\jlib\orai18n.jar到你的CLASSPATH環境變數中。
如果使用JDBC OCI驅動,新增[ORACLE_HOME]\bin到你的PATH環境變數中。
Solaris/Digital Unix平臺:
如果使用JDBC OCI驅動,新增[ORACLE_HOME]/jdbc/lib到你的LD_LIBRARY_PATH環境變數中。
其他和windows相同。
HP/UX平臺:
如果使用JDBC OCI驅動,新增[ORACLE_HOME]/jdbc/lib到你的SHLIB_PATH和LD_LIBRARY_PATH環境變數中。
其他和windows相同。
AIX平臺:
如果使用JDBC OCI驅動,新增[ORACLE_HOME]/jdbc/lib到你的LIBPATH和LD_LIBRARY_PATH環境變數中。
其他和windows相同。
使用:
JDBC OCI driver:
連線遠端資料庫,使用一下的連線串:
ods.setURL("jdbc:oracle:oci:@
JDBC THIN driver:
ods.setURL("jdbc:oracle:thin:@
JDBC Server-side Internal Driver:
ods.setURL("jdbc:oracle:kprb:");
注意冒號是必須的。當你使用Server-side Internal Driver,在你呼叫驅動的機器上你是一直連線在資料庫。你也可以使用以下方式來建立一個Server-side Internal Driver驅動的連線。
Connection conn =new oracle.jdbc.OracleDriver().defaultConnection();
更詳細的資料檢視《JDBC Developer's Guide and Reference》文件。
總結:
我們生產環境中,如果使用的是JDK1.2,1.3那麼我們使用的驅動程式是classes12.jar驅動程式,新增到CLASSPATH環境變數中。我們使用的是jdk1.4及其以上我們就使用ojdbc14.jar驅動程式,將其新增到CLASSPATH環境變數中。另外我們如果使用oci驅動連線資料庫的話,記得檢查相應的OCI庫檔案存在,並設定相應的OCI庫檔案路徑到相應的環境變數中。如果使用了在物件中使用了nls,那麼注意新增orai18n.jar到classpath環境變數中。如果連線的是RAC,我們啟用RCLB功能,配置方法見另一篇文章:http://space.itpub.net/23135684/viewspace-630945
如果有哪兒不對的地方,請大家指正,謝謝。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23135684/viewspace-672060/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JDBC 詳細介紹JDBC
- Spring Data JDBC介紹SpringJDBC
- JDBC的基礎介紹JDBC
- JDBC專題介紹(3)JDBC
- 10gR2中awrsqrpt.sql介紹SQL
- JDBC介面技術介紹1 (轉)JDBC
- JDBC介面技術介紹2 (轉)JDBC
- 深入淺出MyBatis:JDBC和MyBatis介紹MyBatisJDBC
- 軟體測試學習教程——JDBC介紹JDBC
- ORACLE OWI介紹Oracle
- ORACLE ORION介紹Oracle
- oracle VPD介紹Oracle
- Oracle recyclebin介紹Oracle
- ORACLE鎖介紹Oracle
- Oracle ACE 介紹Oracle
- oracle job 介紹Oracle
- Oracle Spatial 介紹Oracle
- 這裡介紹了mysql for c的API ODBC JDBCMySqlAPIJDBC
- JDBC第一篇【介紹JDBC、使用JDBC連線資料庫、簡單的工具類】JDBC資料庫
- Oracle DRM原理介紹Oracle
- Oracle ADR介紹Oracle
- Oracle BBED 工具介紹Oracle
- Oracle RAC 概念介紹Oracle
- 【轉】Oracle ASM介紹OracleASM
- ORACLE函式介紹Oracle函式
- ORACLE TSPITR 介紹Oracle
- Oracle dblink介紹Oracle
- Oracle Data Guard 介紹Oracle
- Oracle biee 中文介紹Oracle
- Oracle Data Integrator 介紹...Oracle
- Oracle DBV 工具 介紹Oracle
- Oracle 常用HINT介紹Oracle
- 介紹oracle外部表Oracle
- Oracle x$table介紹Oracle
- ORACLE 檢視介紹Oracle
- 【Oracle】Opatch 工具介紹Oracle
- 【Oracle】Oracle logminer功能介紹Oracle
- JDBC 簡介JDBC