Oracle
 sql >> Baza danych >  >> RDS >> Oracle

ORA-01017 podczas łączenia przez cienki sterownik jdbc

Na ratunek przyszedł przyjazny administrator bazy danych i odkrył, że jest to w rzeczywistości błąd 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.

A teraz - trzymaj się swoich czapek:

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

Zauważ, że użyłem 11.2.0.4, a błąd mówi

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

Więc najwyraźniej istnieje już od jakiegoś czasu. Nie jestem pewien, czy to rozumiem - dlaczego wypuszczają nowe wersje tego sterownika, jeśli nie uda się poprawnie połączyć z bazą danych? Wygląda na to, że byłby to pierwszy problem, na który wszyscy napotykają podczas korzystania z cienkiego sterownika?

Ale wtedy nasz lokalny administrator bazy danych wykopał to:

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. 

W Eclipse dodałem tę linię do argumentów VM (Uruchom -> Uruchom konfiguracje -> Argumenty -> Argumenty VM -> dodaj -Doracle.jdbc.thinLogonCapability=o3) i w końcu mogę przejść do baza danych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wykrywanie przyrostowych zmian w bazie danych (od Oracle do MongoDB ETL)

  2. SAS/Połącz z Oracle za pomocą rsubmit

  3. Pierwsze kroki z Oracle Autonomous Database w chmurze

  4. najlepszy sposób na migrację aplikacji Windows Forms z serwera sql do Oracle

  5. Funkcja HEXTORAW() w Oracle