Estoy tratando de conectar mi proyecto de Grails a Oracle databse ( Oracle 12c ) en el sistema Windows (8). Sin embargo, cada vez que ejecuto mi aplicación, obtengo la siguiente excepción:
Caused by: org.apache.commons.dbcp.SQLNestedException:
Cannot create PoolableConnectionFactory (ORA-28040:
No matching authentication protocol)
Caused by:
java.sql.SQLException: ORA-28040:
No matching authentication protocol
De acuerdo con la sugerencia de Internet, también intenté editar mi *.ora
archivo pero no funciona.
Agregué el siguiente fragmento en el sqlnet.ora
archivo:
SQLNET.ALLOWED_LOGON_VERSION=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
Aquí intenté asignar (10,11,12) pero ninguno de ellos funciona.
¿Alguien puede ayudarme con esto?
Respuestas:
He eliminado el ojdbc14.jar archivo y se utiliza ojdbc6.jar lugar y funcionó para mí
fuente
oracle.jdbc.thinLogonCapability"="o3"
lo que ya no tiene que hacer contra Oracle 12c. Espero que pueda ayudar a alguien másAquí hay un texto que encontré en Expert-Exchange :
fuente
Resolví este problema usando ojdbc8.jar. Oracle 12c es compatible con ojdbc8.jar
fuente
Esto excepto para agregar lo siguiente a sqlnet.ora
Si recibe el error "ORA-01017: nombre de usuario / contraseña inválidos; inicio de sesión denegado", debe volver a crear su contraseña.
fuente
Excepto por agregar lo siguiente a sqlnet.ora
También agregué lo siguiente tanto al cliente como al servidor, lo que resolvió mi problema
Consulte también la publicación ORA-28040: Sin protocolo de autenticación coincidente
fuente
Estaba usando eclipse y después de probar todas las otras respuestas, no funcionó para mí. Al final, lo que funcionó para mí fue mover
ojdb7.jar
hacia arriba en Build Path. Esto ocurre cuando varios frascos tienen las mismas clases en conflicto.fuente
Añadiendo
es la solución perfecta directorio sql.ora .. \ product \ 12.1.0 \ dbhome_1 \ NETWORK \ ADMIN
fuente
Pregunta muy antigua pero que proporciona información adicional que puede ayudar a otra persona. También encontré el mismo error y estaba usando ojdbc14.jar con 12.1.0.2 Oracle Database. En la página web oficial de Oracle, esta información se enumera qué versión admite qué controladores de base de datos. Aqui esta el link y parece que con Oracle 12c y Java 7 u 8 la versión correcta es ojdbc7.jar.
En el ojdbc6.jar es para 11.2.0.4.
fuente
Mi error inicial es: ORA-28040: No hay excepción de protocolo de autenticación coincidente
Mi versión de base de datos es 12.2 (Solaris) y la versión de cliente es 11.2 (Windows). He agregado a continuación tanto en el servidor como en el cliente sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8 SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8
mientras me conecto, tengo un nombre de usuario y una contraseña no válidos, por lo tanto, he recreado la contraseña (la misma contraseña) en la base de datos que resolvió mi problema.
fuente
Si bien para la mayoría de los casos reemplazar el jar del controlador ojdbc será la solución, mi caso fue diferente.
Si está seguro de que está utilizando el controlador ojdbc correcto. Verifique dos veces si realmente se está conectando a la base de datos que está pensando. En mi caso, la configuración de jdbc (en Tomcat / conf) apuntaba a una base de datos diferente que tenía una versión de Oracle diferente.
fuente
simplemente instale ojdbc-full, que contiene la versión 12.1.0.1.
fuente