ORA-28040: No matching authentication protocol 錯誤總結

項目中原來用的數據庫是oracle 11g,後來升級爲oracle 12c,啓動tomcat報錯:ORA-28040: No matching authentication protocol。

有種說法是修改sqlnet.ora文件

文件路徑:oracle安裝目錄\dbhome_1\NETWORK\ADMIN\sqlnet.ora

修改該文件,在最下方添加一行:SQLNET.ALLOWED_LOGON_VERSION=8

經測試問題解決,但是部署到雲服務器上竟然神奇的不行。。。

jdbc的jar包問題

因爲數據庫的連接方式,數據庫的配置都是一樣的,所以懷疑是不是jdbc的jar包的問題。

12c的jar包是ojdbc6.jar,可到oracle安裝目錄\dbhome_1\jdbc\lib目錄下拷貝。但是項目中竟然沒找到這個jar包,只有ojdbc14.jar(不知道當時在哪得到的這個jar包),於是更加懷疑是jdbc的jar包的問題。

12c的jar包好像是對11g的連接問題進行了修復。於是嘗試替換jar包,將ojdbc14.jar刪除,重新添加ojdbc6.jar,重新引用,問題解決。

這兩種方式在不同環境下都測試過,分別都是有效的。。。

我更傾向於第二種方式,即替換jar包,因爲修改sqlnet.ora的配置經測試是可以的,所以形成了思維定式,一直在排查其他問題。早就該想到可能是jdbc的問題,走了很多彎路,解決問題思路要開闊。

 

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