Oracle
 sql >> база данни >  >> RDS >> Oracle

ORA-01017 при свързване чрез тънък драйвер jdbc

Любезен администратор на DB се притече на помощ и установи, че това всъщност е грешка в Oracle:

Problem Description:
--------------------
When trying to connect by using the JDBC THIN 11g driver to a database 11g 
using Enterprise User Security (EUS) connections throw invalid username/

When usign the JDBC OCI driver the connection can be made.

А сега – дръжте се за шапките си:

Available Workarounds:
----------------------
Use OCI.

Имайте предвид, че използвах 11.2.0.4, докато грешката казва

Tested Versions:
----------------
JDBC THIN Driver 11.1.0.6.0 and 11.1.0.7.0

Така че очевидно съществува от известно време. Не съм сигурен, че разбирам това - защо пускат нови версии на този драйвер, ако той не успява да ви свърже правилно с базата данни? Изглежда, че това ще бъде първият проблем, с който всеки се сблъсква, когато използва тънкия драйвер?

Но след това, нашият местен DB администратор герой изрови това:

Set the property oracle.jdbc.thinLogonCapability=o3 for the JDBC connection by passing the option oracle.jdbc.thinLogonCapability=o3 on the command line.  

For example:
java -Doracle.jdbc.thinLogonCapability=o3 <Java Class>

There is no loss of security when following this workaround. 

В Eclipse добавих този ред към VM аргументите (Run -> Run Configurations -> Arguments -> VM arguments -> add -Doracle.jdbc.thinLogonCapability=o3) и, ето, най-накрая мога да вляза в база данни.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Спецификацията на Oracle или SQL? :Скъсете таблица с ограничения на външен ключ

  2. Клиентът на Oracle изисква скоби около имената на колоните?

  3. Как да добавите сървъра за управление в R12.2

  4. Spring JPA Hibernate:бавна SELECT заявка

  5. OC4J 10.1.3.3 не може да намери ojms.rar настройване на устойчивост на база данни