使用jdbc連接上oracle的兩種方法


1、 使用thin連接

優點:thin驅動都是純Java代碼,並且使用TCP/IP技術通過java的Socket連接上Oracle數據庫,所以thin驅動是與平台無關的,無需安裝Oracle客戶端,只需要下載一個thin驅動的jar包,並且將環境變量中的CLASS_PATH變量中加入thin驅動的路徑就可以了。

缺陷:就是thin性能一般,達不到如OCI方式的企業級的要求。另外,如果一個oracle數據庫對應一台主機,可以使用thin連接;如果一個oracle數據庫對應四五台主機(集群服務器),使用thin時,需要把tnsnames.ora文件中的相關數據庫的整個連接字符串都拷貝下來,如此才能連接上oracle集群數據庫。

固定的寫法:

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection conn =DriverManager.getConnection ("jdbc:oracle:thin:@192.168.75.14:1521:db1","test" , "test");

 

 

2、 使用oci連接(Oracle Call Interface)

優點:使用OCI連接數據庫是企業級的做法,適應於單個數據庫和集群數據庫,性能優越,尤其是連接池功能大大提高了應用程序的性能和並發量。

缺點: 若想使用OCI必須要安裝Oracle客戶端。

安裝完Oracle客戶端后,里面有個jdbc的文件夾,該文件夾下就包含了OCI驅動和THIN驅動。所以是不需要去網上下載的。這個驅動在jdbc/lib文件夾下,主要有classes12.jar、nls_charset12.jar等等。其中以12結尾的驅動包適應於jdk1.1以上的版本。以11結尾的適應於jdk1.1以下的版本。文件名中含有classes的jar包就是驅動程序,文件名中含有nls的jar包是與國際化有關的類。

找到文件后,就需要把class和nls的jar包的絕對路徑加入CLASS_PATH環境變量,否則會報ClassNotFound的異常。

設置環境變量后,就可以直接使用OCI驅動了,不要被“驅動”兩個字嚇壞了,(驅動就是一個可執行文件和一個連接字符串)。很簡單,無非是連接字符串的問題。標准的連接字符串如下所示:

Class.forName("oracle.jdbc.driver.OracleDriver");

Connection con = DriverManager.getConnection("jdbc:oracle:oci:@db1","test", "test");

只要這兩行,就可以保證連接到數據庫,而這個數據庫不管是單個數據庫還是集群數據庫。其中db1就是數據庫名,test就是用戶名,test就是密碼。這種方式和C#中的方式比較類似。

需要注意的問題:

1、oracle_home/jdbc文件夾下有大量的樣板代碼和幫助文檔,里面對如何安裝和使用jdbc都有詳細的說明,請引起高度重視並耐心閱讀。里面有很多知識僅通過自己反復的實踐是無法獲取的。

2、如果想要高性能,請使用OCI連接,如果不想裝Oracle客戶端,請使用thin連接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM