1. 程式人生 > >解決Java連接Oracle 12c存在的問題

解決Java連接Oracle 12c存在的問題

ott -a oat 賬號 idt bee aps init outline

感謝作者

原文鏈接:https://blog.csdn.net/peng_wei_kang/article/details/80403486

1.發現項目報以下錯誤:

  1. Caused by: java.sql.SQLException: ORA-28040: 沒有匹配的驗證協議
  2. at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)
  3. at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:388)
  4. at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:381
    )
  5. at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:427)
  6. at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)
  7. at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
  8. at oracle.jdbc.driver.T4CTTIoauthenticate.doOSESSKEY(T4CTTIoauthenticate.java:390
    )
  9. at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:356)
  10. at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
  11. at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
  12. at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32
    )
  13. at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)

解決方法:

在oracle安裝目錄下的\product\12.2.0\dbhome_1\network\admin\sqlnet.ora文件中新增一行,內容如下:

SQLNET.ALLOWED_LOGON_VERSION=8

SQLNET.ALLOWED_LOGON_VERSION=8

接著重啟項目。

2.遇到以下錯誤:

  1. Caused by: java.sql.SQLException: ORA-01017: 用戶名/口令無效; 登錄被拒絕
  2. at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)
  3. at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:388)
  4. at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:381)
  5. at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:564)
  6. at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:431)
  7. at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)
  8. at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
  9. at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:366)
  10. at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:752)
  11. at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:359)
  12. at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
  13. at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)

我確定賬號密碼沒有錯誤,用sqlplus以及sql developer都可以連接,但通過項目連接就存在這個問題。

解決問題:

通過管理員賬號重新去修改一下當前賬號的密碼為原來的密碼

  1. SQL< conn system/root; (註意:此處是使用自己的管理員賬號和密碼去連接)
  2. SQL< alter user c##ansibee identified by ansibee;

解決Java連接Oracle 12c存在的問題