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.