java oci_java oracle oci方式连接
Java程序連接oracle數(shù)據(jù)庫時,用oci驅(qū)動要比用thin驅(qū)動性能好些。主要的區(qū)別是使用thin驅(qū)動時,不需要安裝oracle的客戶端,而使用oci時則要安裝oracle的客戶端。
從使用thin驅(qū)動切換到oci驅(qū)動在配置來說很簡單,只需把連接字符串java:oracle:thin:@hostip:1521:實例名換為java:oracle:oci@本地服務(wù)名即可。如:
從
jdbc:oracle:thin:@10.1.1.2:1521:shdb
改成:
jdbc:oracle:oci8:@shdb
但這里這臺機器需安裝oracle數(shù)據(jù)庫的客戶端并配置本地服務(wù)名,同時還需指定NLS_LANG環(huán)境變量,NLS_LANG環(huán)境變量是用來控制客戶端在顯示oracle數(shù)據(jù)庫的數(shù)據(jù)時所用的字符集和本地化習慣。通常把NLS_LANG的字符集部分指定為數(shù)據(jù)庫所用的字符集,就不會存在java顯示的亂碼問題了。
對于oracle數(shù)據(jù)庫客戶端的安裝,有二種選擇,一是老實的用oracle數(shù)據(jù)庫的安裝光盤,安裝對應(yīng)版本的oracle客戶端。二是下載oracle提取的即時客戶端,即時客戶端是不用安裝的,把下載包解壓即可。
要使java web正常的通過oci驅(qū)動訪問oracle,還需要客戶端正確的配置一下相關(guān)變量。主要如下:
對于windows系統(tǒng)并使用oracle客戶端時:
1、把%ORACLE_HOME%\lib加到PATH環(huán)境變量。
2、把%ORACLE_HOME%\jdbc\lib\classes12.jar加到CLASSPATH環(huán)境變量里,也可以把classes12.jar拷貝到tomcat的comman\lib目錄下。
對于windows系統(tǒng)并使用oracle的即時客戶端時(假定即時客戶端解壓在d盤):
1、把d:\instantclient_10_2加到PATH環(huán)境變量;
2、把d:\instantclient_10_2\classes12.jar加到CLASSPATH環(huán)境變量里,也可以把classes12.jar拷貝到tomcat的comman\lib目錄下。
對于linux系統(tǒng)并使用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系統(tǒng)并使用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下帶了幾個應(yīng)用,且?guī)讉€應(yīng)用都要連接oracle數(shù)據(jù)庫時,則要注意的是,不要在每個應(yīng)用的WEB-INF/lib目錄下放入oracle的classes12.jar/zip文件。而應(yīng)該把classes12.jar/zip文件放到tomcat的common/lib目錄下。否則會出來ojdbclib9/10庫重復(fù)加載的錯誤。
使用oracle即時客戶端時,本地服務(wù)名的建立可以在目錄instantclient_10_2下建立tnsnames.ora下添加連接串,如:
SHDB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =
(PROTOCOL = TCP)(HOST = 10.1.1.236)(PORT = 1521)))
(CONNECT_DATA =(SERVICE_NAME = shdb)))
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的java oci_java oracle oci方式连接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓 java编译_Android源码分
- 下一篇: java常用算法_JAVA编程常用算法—