Java用OCI驅連Oracle資料庫的實現方法
Java用OCI驅連Oracle資料庫的實現方法
來源:網路摘錄 日期:2009-05-31 23:26 點選:0
精華網路內容 :http://www.startajava.com
Java程式連線oracle資料庫時,用oci驅動要比用thin驅動效能好些。主要的區別是使用thin驅動時,不需要安裝oracle的客戶端,而使用oci時則要安裝oracle的客戶端。
從使用thin驅動切換到oci驅動在配置來說很簡單,只需把連線字串java:oracle:thin:@hostip:1521:例項名換為java:oracle:oci@本地服務名即可。如:
從
jdbc:oracle:thin:@10.1.1.2:1521:shdb
改成:
jdbc:oracle:oci8:@shdb
但這裡這臺機器需安裝oracle資料庫的客戶端並配置本地服務名,同時還需指定NLS_LANG環境變數,NLS_LANG環境變數是用來控制客戶端在 顯示oracle資料庫的資料時所用的字符集和本地化習慣。通常把NLS_LANG的字符集部分指定為資料庫所用的字符集,就不會存在java顯示的亂碼 問題了。
對於oracle資料庫客戶端的安裝,有二種選擇,一是老實的用oracle資料庫的安裝光碟,安裝對應版本的oracle客戶端。二是下載oracle提取的即時客戶端,即時客戶端是不用安裝的,把下載包解壓即可。
要使java web正常的通過oci驅動訪問oracle,還需要客戶端正確的配置一下相關變數。主要如下:
對於windows系統並使用oracle客戶端時:
1、把%ORACLE_HOME%\lib加到PATH環境變數。
2、把%ORACLE_HOME%\jdbc\lib\classes12.jar加到CLASSPATH環境變數裡,也可以把classes12.jar拷貝到tomcat的comman\lib目錄下。
對於windows系統並使用oracle的即時客戶端時(假定即時客戶端解壓在d盤):
1、把d:\instantclient_10_2加到PATH環境變數;
2、把d:\instantclient_10_2\classes12.jar加到CLASSPATH環境變數裡,也可以把classes12.jar拷貝到tomcat的comman\lib目錄下。
對於linux系統並使用oracle客戶端時:
1、在使用tomcat的使用者主目錄下的.bash_profile檔案中加入:
exprot ORACLE_HOME=/u01/app/oracle/product/9.2.0.4 export LD_LIBRARY_PATH=$ORACLE_HOME/lib |
2、把classes12.jar拷貝到tomcat的comman\lib目錄下。
對於linux系統並使用oracle即時客戶端時:
1、在使用tomcat的使用者主目錄下的.bash_profile檔案中加入:
exprot ORACLE_HOME=/instantclient_10_2 export LD_LIBRARY_PATH=$ORACLE_HOME/lib |
2、把instantclient_10_2目錄下的classes12.jar拷貝到tomcat的comman\lib目錄下。
如果一個tomcat下帶了幾個應用,且幾個應用都要連線oracle資料庫時,則要注意的是,不要在每個應用的WEB-INF/lib目錄下放入 oracle的classes12.jar/zip檔案。而應該把classes12.jar/zip檔案放到tomcat的common/lib目錄 下。否則會出來ojdbclib9/10庫重複載入的錯誤。
使用oracle即時客戶端時,本地服務名的建立可以在目錄instantclient_10_2下建立tnsnames.ora下新增連線串,如:
SHDB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.236)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = shdb)))
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13726712/viewspace-620394/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java 的JDBC 資料庫連線池實現方法JavaJDBC資料庫
- 一種實現資料庫連線池的方法(JAVA) (轉)資料庫Java
- Java連線oracle資料庫的兩種常用方法JavaOracle資料庫
- oracle連線資料的oci和thin的區別Oracle
- Java連線oracle資料庫JavaOracle資料庫
- java oci 連線Java
- 關於Oracle OCI驅動的使用Oracle
- 用Asp實現對ORACLE資料庫的操作Oracle資料庫
- MSSQL資料庫映象在Oracle中的實現方法SQL資料庫Oracle
- 非常實用的Oracle資料庫資料恢復方法案例Oracle資料庫資料恢復
- oracle資料庫連續相同資料的統計方法Oracle資料庫
- java連線Oracle資料庫獲取資料JavaOracle資料庫
- PowerDesigner實現Oracle資料庫連線生成模型Oracle資料庫模型
- 免安裝Oracle連線資料庫(odbc驅動)Oracle資料庫
- oracle資料庫用sql實現快速分頁Oracle資料庫SQL
- 用JSP連線mysql資料庫的方法JSMySql資料庫
- 資料庫連線池設計和實現(Java版本)資料庫Java
- 資料庫連線池實現資料庫
- KIDataGrip連線Mysql並建立資料庫的方法實現ztpMySql資料庫
- java Jdbc連線oracle資料庫連線測試JavaJDBCOracle資料庫
- Oracle資料庫安全策略與實現方法(轉)Oracle資料庫
- Oracle RMAN 連線資料庫認證方法Oracle資料庫
- 用javascript連線資料庫的解決方法 (轉)JavaScript資料庫
- golang 連線oracle 11g資料庫-遇到的坑與如何解決-No package 'oci8' foundGolangOracle資料庫Package
- JDBC資料庫連線池實現JDBC資料庫
- 資料庫連線池的實現及原理資料庫
- django中的資料庫連線池實現Django資料庫
- Oracle 資料庫連線錯誤解決方法Oracle資料庫
- java連線資料庫Java資料庫
- 轉:ORACLE的JDBC連線方式:OCI和THINOracleJDBC
- 獲取oracle資料庫連線出現的問題Oracle資料庫
- clone oracle資料庫的方法Oracle資料庫
- 資料重整:用Java實現精準Excel資料排序的實用策略JavaExcel排序
- SQL Server連線VFP資料庫的實現 (轉)SQLServer資料庫
- SQL Server連線ACCESS資料庫的實現 (轉)SQLServer資料庫
- 用例驅動實現DDD的方法 - codex
- 幾種連線資料庫的OLEDB驅動程式資料庫
- SQL Server資料庫的簡單實現方法SQLServer資料庫