熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

Java程序使用OCI驅動連接Oracle數據庫

2013-11-23 19:34:33  來源: Java核心技術 

  Java程序連接oracle數據庫時用oci驅動要比用thin驅動性能好些主要的區別是使用thin驅動時不需要安裝oracle的客戶端而使用oci時則要安裝oracle的客戶端

  從使用thin驅動切換到oci驅動在配置來說很簡單只需把連接字符串javaoraclethin@hostip實例名換為javaoracleoci@本地服務名即可

  從

  jdbcoraclethin@shdb

  改成

  jdbcoracleoci@shdb

  但這裡這台機需安裝oracle數據庫的客戶端並配置本地服務名同時還需指定 NLS_LANG環境變量NLS_LANG環境變量是用來控制客戶端在顯示oracle數據庫的數據時所用的字符集和本地化習慣通常把 NLS_LANG的字符集部分指定為數據庫所用的字符集則就不會存在java顯示的亂碼問題了

  對於oracle數據庫客戶端的安裝有二種選擇一是老實的用oracle數據庫的安裝光盤安裝對應版本的oracle客戶端二是下載oracle提從的即時客戶端即時客戶端是不用安裝的把下載包解壓即可

  要使java web正常的通過oci驅動訪問oracle還需要客戶端正確的配置一下相關變量主要如下

  對於windows系統並使用oracle客戶端時

   把%ORACLE_HOME%\lib加到PATH環境變量

   把%ORACLE_HOME%\jdbc\lib\classesjar加到CLASSPATH環境變量裡也可以把classesjar拷貝到tomcat的comman\lib目錄下

  對於windows系統並使用oracle的即時客戶端時(假定即時客戶端解壓在d盤)

   把d\instantclient__加到PATH環境變量

   把d\instantclient__\classesjar加到CLASSPATH環境變量裡也可以把classesjar拷貝到tomcat的comman\lib目錄下

  對於linux系統並使用oracle客戶端時

   在使用tomcat的用戶主目錄下的bash_profile文件中加入

  exprot ORACLE_HOME=/u/app/oracle/product/

  export LD_LIBRARY_PATH=$ORACLE_HOME/lib

   把classesjar拷貝到tomcat的comman\lib目錄下

  對於linux系統並使用oracle即時客戶端時

   在使用tomcat的用戶主目錄下的bash_profile文件中加入

  exprot ORACLE_HOME=/instantclient__

  export LD_LIBRARY_PATH=$ORACLE_HOME/lib

   把instantclient__目錄下的classesjar拷貝到tomcat的comman\lib目錄下

  如果一個tomcat下帶了幾個應用且幾個應用都要連接oracle數據庫時則要注意的時不要在每個應用的WEBINF/lib目錄下放入 oracle的classesjar/zip文件而應該把classesjar/zip文件放到tomcat的common/lib目錄下否則會出來ojdbclib/庫重復加載的錯誤

  使用oracle即時客戶端是本地服務名的建立可以在目錄instantclient__下建立tnsnamesora下添加連接串

  SHDB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = )))

  (CONNECT_DATA =(SERVICE_NAME = shdb)))


From:http://tw.wingwit.com/Article/program/Java/hx/201311/27111.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.