Un administrateur de base de données amical est venu à la rescousse et a découvert qu'il s'agissait en fait d'un bogue 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.
Et maintenant, accrochez-vous à vos chapeaux :
Available Workarounds:
----------------------
Use OCI.
Notez que j'ai utilisé 11.2.0.4, alors que le bogue dit
Tested Versions:
----------------
JDBC THIN Driver 11.1.0.6.0 and 11.1.0.7.0
Donc apparemment ça fait un moment que ça existe. Je ne suis pas sûr de comprendre - pourquoi sortent-ils de nouvelles versions de ce pilote s'il échoue à vous connecter correctement à la base de données? Il semble que ce soit le premier problème que tout le monde rencontre lors de l'utilisation du pilote léger ?
Mais ensuite, notre héros administrateur de base de données local a déterré ceci :
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.
Dans Eclipse, j'ai ajouté cette ligne aux arguments VM (Run -> Run Configurations -> Arguments -> VM arguments -> add -Doracle.jdbc.thinLogonCapability=o3) et, voilà, je peux enfin entrer dans le base de données.