關於JRE和oracle客戶端和ojdbc版本適配問題

昨天將一項目部署到生產環境時,程序調用oracle存儲過程tomcat出現了一個奇怪的報錯:
“java.sql.SQLException: 試圖設置未出現在 SQL 中的參數名: sendto”,這個sendto是一個存儲過程的入參,在找了很多問題之後,對比了測試環境發現有一個地方是不同的:
測試環境:
windows:64位操作系統
oracle客戶端版本11.0.2
jre 1.8 32位
ojdbc6.jar

生產環境:
windows:64位操作系統
oracle客戶端版本11.0.2
jre 1.8 64位
ojdbc6.jar

嘗試了各種方法都還是同樣的報錯,網上有說ojdbc6.jar這個包不支持jre1.8了,oracle官網上說是隻支持jre1.6的,測試環境的確是jre1.8(32位)的沒問題,但生產環境是jre1.8(64位)所以只能將生產環境更換成ojdbc8.jar,又出現新的問題,說找不到ocijdbc12.dll,因爲oracle客戶端是11.0.2的所以只有ocijdbc11.dll,最後將生產環境的oracle客戶端版本卸載重新安裝oralce12.0版本,問題最終解決,成功調用存儲過程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章