標籤:
問題:在生產環境中有兩台WEB伺服器,分別為227和228,部署的應用代碼都是每日同步的,兩邊完全一致,但是某些頁面查詢資料時,227無結果,並且後台報java數組越界的錯誤,而228一切正常。經開發人員對頁面程式進行調整後,增加容錯處理,227查詢恢複正常,但是查詢結果中的日期值顯示為英文,而228則是正常的2014-01-01字樣的格式。
227環境:weblogic 8.1.0.0JDK jdk141_03228環境:weblogic 8.1.6.0JDK jdk142_11解決過程:開始懷疑是JDK版本不一致引起的,就拷貝了228的JDK環境到227主機,並修改startWeblogic.sh,啟動時報串連池的錯誤。然後查看兩邊的config.xml設定檔,發現兩邊使用的資料庫驅動不一樣,227使用的是“weblogic.jdbc.oci.Driver”,228使用的是“oracle.jdbc.driver.OracleDriver”,後修改227的驅動為oracle的JDBC,重啟後恢複正常。 驅動位置:在安裝weblogic的時候裝有第三方驅動位於
WL_HOME
\server\ext\jdbc,若要使用這裡的驅動有兩個辦法:
1)在啟動指令碼CLASSPATH中添加驅動變數;2)把驅動jar包拷貝至系統驅動目錄下
WL_HOME
\server\lib 配置方法:oracle JDBC的thin方式
[串連池屬性值]
URL : jdbc:oracle:thin:@IP Address:1521:orcl
Driver Classes : oracle.jdbc.driver.OracleDriver
Properties (key=value): user=資料庫使用者名稱
password=密碼
dll=ocijdbc8 (可不填)
protocol=thin (可不填)
Weblogic頁面應用查詢oracle資料庫後台報錯或頁面日期格式顯示錯誤