J'essaie de connecter mon projet Grails à la base de données Oracle ( Oracle 12c ) dans le système Windows (8). Cependant, chaque fois que j'exécute mon application, j'obtiens l'exception suivante:
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
Selon une suggestion Internet, j'ai également essayé de modifier mon *.ora
fichier mais cela ne fonctionne pas.
J'ai ajouté l'extrait suivant dans le sqlnet.ora
fichier:
SQLNET.ALLOWED_LOGON_VERSION=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
Ici, j'ai essayé d'assigner (10,11,12) mais aucun d'eux ne fonctionne.
Quelqu'un peut-il m'aider s'il vous plaît?
Réponses:
J'ai supprimé le fichier ojdbc14.jar et utilisé ojdbc6.jar à la place et cela a fonctionné pour moi
la source
oracle.jdbc.thinLogonCapability"="o3"
ce que vous n'avez plus à faire contre oracle 12c. J'espère que cela peut aider quelqu'un d'autreVoici un texte que j'ai trouvé lors de l'échange d'experts :
la source
J'ai résolu ce problème en utilisant ojdbc8.jar. Oracle 12c est compatible avec ojdbc8.jar
la source
Ceci sauf pour ajouter ce qui suit à sqlnet.ora
Si vous obtenez l'erreur «ORA-01017: nom d'utilisateur / mot de passe invalide; ouverture de session refusée», vous devez recréer votre mot de passe.
la source
Sauf pour ajouter ce qui suit à sqlnet.ora
J'ai également ajouté ce qui suit au client et au serveur, ce qui a résolu mon problème
Voir également l'article ORA-28040: Aucun protocole d'authentification correspondant
la source
J'utilisais eclipse et après avoir essayé toutes les autres réponses, cela n'a pas fonctionné pour moi. En fin de compte, ce qui a fonctionné pour moi a été de déplacer le
ojdb7.jar
vers le haut dans le chemin de construction. Cela se produit lorsque plusieurs fichiers JAR ont les mêmes classes en conflit.la source
Ajouter
est la solution parfaite pour le répertoire sql.ora .. \ product \ 12.1.0 \ dbhome_1 \ NETWORK \ ADMIN
la source
Question très ancienne mais fournissant des informations supplémentaires qui peuvent aider quelqu'un d'autre. J'ai également rencontré la même erreur et j'utilisais ojdbc14.jar avec la base de données Oracle 12.1.0.2. Sur la page Web officielle d'Oracle, ces informations indiquent quelle version prend en charge les pilotes de base de données. Voici le lien et il semble qu'avec Oracle 12c et Java 7 ou 8, la version correcte est ojdbc7.jar.
Dans l'ojdbc6.jar est pour 11.2.0.4.
la source
Mon erreur initiale est: ORA-28040: aucune exception de protocole d'authentification correspondante
Ma version de base de données est 12.2 (Solaris) et la version client est 11.2 (Windows). J'ai ajouté ci-dessous à la fois le serveur et le client sqlnet.ora
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8 SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8
lors de la connexion, j'ai un nom d'utilisateur et un mot de passe invalides et j'ai donc recréé le mot de passe (même mot de passe) dans la base de données, ce qui a résolu mon problème.
la source
Alors que dans la plupart des cas, le remplacement du fichier jar du pilote ojdbc sera la solution, mon cas était différent.
Si vous êtes certain d'utiliser le bon pilote ojdbc. Vérifiez si vous vous connectez réellement à la base de données que vous pensez être. Dans mon cas, la configuration jdbc (dans Tomcat / conf) pointait vers une base de données différente qui avait une version d'Oracle différente.
la source
installez simplement ojdbc-full, qui contient la version 12.1.0.1.
la source