sql >> Database teknologi >  >> RDS >> Oracle

ORA-01017 ved tilslutning via jdbc tynd driver

En venlig DB-administrator kom til undsætning og fandt ud af, at dette faktisk er en Oracle-fejl:

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.

Og nu - hold fast i hatten:

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

Bemærk, at jeg brugte 11.2.0.4, mens fejlen siger

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

Så det har åbenbart eksisteret i et stykke tid. Jeg er ikke sikker på, at jeg forstår dette - hvorfor bringer de nye versioner af denne driver ud, hvis det ikke lykkes at forbinde dig til databasen korrekt? Ser ud til, at dette ville være det første problem, alle støder på, når de bruger den tynde driver?

Men så fandt vores lokale DB-administratorhelt dette op:

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. 

I Eclipse har jeg tilføjet denne linje til VM-argumenterne (Kør -> Kør konfigurationer -> Argumenter -> VM-argumenter -> tilføj -Doracle.jdbc.thinLogonCapability=o3), og se, jeg kan endelig komme ind i database.



  1. SQL DELETE-syntaks – Listet efter DBMS

  2. Opdater tabel med tilfældig post i opdateringserklæring i SQL Server?

  3. T-SQL Stuff Kommando

  4. Oracle DataAccess-relateret:Det påkaldte medlem understøttes ikke i en dynamisk assembly.