Estou tentando conectar meu projeto Grails ao banco de dados Oracle(Oracle 12c) no sistema Windows(8). Entretanto, sempre que eu executo minha aplicação, eu recebo a seguinte exceção :
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 acordo com a sugestão da internet eu também tentei editar meu arquivo *`.ora`** mas ele não está funcionando.
Eu adicionei o seguinte trecho no arquivo **sqlnet.ora
*** :
SQLNET.ALLOWED_LOGON_VERSION=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
Aqui eu tentei atribuir (10,11,12) mas nenhum deles está funcionando.
Alguém me pode ajudar com isto?
Eu deletei o arquivo ojdbc14.jar e usei *ojdbc6.jar** e funcionou para mim
Aqui está algum texto que encontrei em experts-exchange:
Bug 14575666
Em 12.1, o valor padrão para a SQLNET.ALLOWED_LOGON_VERSION_VERSION o parâmetro foi atualizado para 11. Isto significa que os clientes da base de dados usando drivers finos pré-11g JDBC não podem autenticar na base de dados 12.1 servidores, a menos que o parâmetro antigo padrão de 8.
Isto causará a criação de um banco de dados RAC Oracle 10.2.0.5 usando o DBCA para falha com o ORA-28040: nenhum erro de protocolo de autenticação correspondente em 12.1 Oracle ASM e ambientes Oracle Grid Infrastructure.
Workaround: Definir SQLNET.ALLOWED_LOGON_VERSION=8 no arquivo oracle/network/admin/sqlnet.ora.
Excepto para adicionar o seguinte a **sqlnet.ora***
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8
SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8
Eu também adicionei o seguinte tanto ao Cliente como ao Servidor, o que resolveu o meu problema
SQLNET.AUTHENTICATION_SERVICES = (NONE)
Ver também post https://stackoverflow.com/questions/34398101/ora-28040-no-matching-authentication-protocol/43362249#43362249