Ich versuche, mein Grails-Projekt mit der Oracle-Datenbank ( Oracle 12c ) im Windows (8) -System zu verbinden. Wenn ich jedoch meine Anwendung ausführe, wird folgende Ausnahme angezeigt:
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
Laut Internetvorschlag habe ich auch versucht, meine *.ora
Datei zu bearbeiten , aber es funktioniert nicht.
Ich habe folgendes Snippet in sqlnet.ora
Datei hinzugefügt :
SQLNET.ALLOWED_LOGON_VERSION=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
Hier habe ich versucht zuzuweisen (10,11,12), aber keiner von ihnen funktioniert.
Kann mir bitte jemand dabei helfen?
Antworten:
Ich löschte die ojdbc14.jar Datei und verwende ojdbc6.jar statt und es funktionierte für mich
quelle
oracle.jdbc.thinLogonCapability"="o3"
was Sie nicht mehr gegen Orakel 12c tun müssen. Hoffe, es kann jemand anderem helfenHier ist ein Text, den ich beim Expertenaustausch gefunden habe :
quelle
Dies mit Ausnahme des Hinzufügens der folgenden Elemente zu sqlnet.ora
Wenn der Fehler "ORA-01017: Ungültiger Benutzername / Passwort; Anmeldung verweigert" angezeigt wird, müssen Sie Ihr Passwort neu erstellen.
quelle
Ich habe dieses Problem mit ojdbc8.jar behoben. Oracle 12c ist kompatibel mit ojdbc8.jar
quelle
Außer dem Hinzufügen von Folgendem zu sqlnet.ora
Ich habe sowohl dem Client als auch dem Server Folgendes hinzugefügt, wodurch mein Problem behoben wurde
Siehe auch Beitrag ORA-28040: Kein übereinstimmendes Authentifizierungsprotokoll
quelle
Ich habe Eclipse verwendet und nachdem ich alle anderen Antworten ausprobiert hatte, funktionierte es bei mir nicht. Am Ende hat es für mich funktioniert,
ojdb7.jar
den Build-Pfad nach oben zu verschieben. Dies tritt auf, wenn mehrere Gläser widersprüchliche Klassen haben.quelle
Hinzufügen
ist die perfekte Lösung für das Verzeichnis sql.ora .. \ product \ 12.1.0 \ dbhome_1 \ NETWORK \ ADMIN
quelle
Mein anfänglicher Fehler ist: ORA-28040: Keine Ausnahme für das übereinstimmende Authentifizierungsprotokoll
Meine DB-Version ist 12.2 (Solaris) und die Client-Version ist 11.2 (Windows). Ich habe unten in Server und Client sqlnet.ora hinzugefügt
SQLNET.ALLOWED_LOGON_VERSION_CLIENT = 8 SQLNET.ALLOWED_LOGON_VERSION_SERVER = 8
Während der Verbindung habe ich einen ungültigen Benutzernamen und ein ungültiges Passwort erhalten, daher habe ich das Passwort (dasselbe Passwort) in der Datenbank neu erstellt, wodurch mein Problem behoben wurde.
quelle
Während in den meisten Fällen das Ersetzen des ojdbc-Treibers jar die Lösung sein wird, war mein Fall anders.
Wenn Sie sicher sind, dass Sie den richtigen ojdbc-Treiber verwenden. Überprüfen Sie noch einmal, ob Sie tatsächlich eine Verbindung zu der Datenbank herstellen, von der Sie glauben, dass Sie sie sind. In meinem Fall zeigte die JDBC-Konfiguration (in Tomcat / conf) auf eine andere Datenbank mit einer anderen Oracle-Version.
quelle
Sehr alte Frage, aber einige zusätzliche Informationen, die jemand anderem helfen können. Ich bin auch auf denselben Fehler gestoßen und habe ojdbc14.jar mit 12.1.0.2 Oracle Database verwendet. Auf der offiziellen Oracle-Webseite sind diese Informationen aufgeführt, welche Version welche Datenbanktreiber unterstützt. Hier ist der Link und es scheint, dass mit Oracle 12c und Java 7 oder 8 die richtige Version ojdbc7.jar ist.
In der ojdbc6.jar ist für 11.2.0.4.
quelle
Installieren Sie einfach ojdbc-full. Das enthält die Version 12.1.0.1.
quelle