sql >> Base de Datos >  >> RDS >> Oracle

ORA-01017 cuando se conecta a través del controlador delgado jdbc

Un administrador de la base de datos amigable vino al rescate y descubrió que en realidad se trata de un error de 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.

Y ahora, agárrense los sombreros:

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

Tenga en cuenta que usé 11.2.0.4, mientras que el error dice

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

Así que aparentemente ha existido por un tiempo. No estoy seguro de entender esto:¿por qué están lanzando nuevas versiones de este controlador si falla al conectarlo a la base de datos correctamente? ¿Parece que este sería el primer problema con el que se encuentran todos al usar el controlador delgado?

Pero luego, nuestro héroe administrador de base de datos local descubrió esto:

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. 

En Eclipse, agregué esta línea a los argumentos de VM (Ejecutar -> Ejecutar configuraciones -> Argumentos -> Argumentos de VM -> agregar -Doracle.jdbc.thinLogonCapability=o3) y he aquí que finalmente puedo ingresar al base de datos.