sql >> Databáze >  >> RDS >> Oracle

ORA-01017 při připojení přes tenký ovladač jdbc

Přátelský správce DB přišel na pomoc a zjistil, že se ve skutečnosti jedná o chybu 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 teď – držte si klobouky:

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

Všimněte si, že jsem použil 11.2.0.4, zatímco chyba říká

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

Zdá se tedy, že to už nějakou dobu existuje. Nejsem si jistý, jestli to chápu – proč vydávají nové verze tohoto ovladače, když selže při správném připojení k databázi? Zdá se, že to bude první problém, na který všichni narazí při používání tenkého ovladače?

Ale pak to náš místní administrátor DB vykopal:

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. 

V Eclipse jsem přidal tento řádek do argumentů VM (Spustit -> Spustit konfigurace -> Argumenty -> Argumenty VM -> přidat -Doracle.jdbc.thinLogonCapability=o3) a ejhle, konečně se mohu dostat do databáze.



  1. Jak spojit tři stoly podle laravelova výmluvného modelu

  2. Node MySQL provádí více dotazů nejrychleji, jak je to možné

  3. Hostitel nepovoluje události na MySQL, což je nejlepší alternativa

  4. Přizpůsobte si Spotlight Cloud Alarms