Verwenden von TNS-Alias mit OJDBC 12.1
Frage
Ich werde eine Java-Anwendung delektieren, die auf eine Oracle-Datenbank zugreifen muss.Bisher habe ich den OJDBC6-Treiber ohne Probleme benutzt.Jetzt wechseln wir die Datenbanken in Oracle 12c, sodass ich den neueren JDBC-Treiber verwenden wollte.
Dies ist der Code
generasacodicetagpre.Dies ist der tnsnames.ora (Host geändert, weil es etwas in unserem Intranet ist)
generasacodicetagpre.Dies ist der Ausgang für alle vier Variationen (2 Treiber, 2 TNsaliases) JDBC 11.2, TnsaliaSwithoutDots
generasacodicetagpre.jdbc 11.2 tnsalias.with.dots
generasacodicetagpre.jdbc 12.1 tnsaliaSwithoutDots
generasacodicetagpre.jdbc 12.1 tnsalias.with.dots
generasacodicetagpre.für diejenigen, die nicht wissen, ORA-01017 bedeutet "ungültige Benutzername / Passwort"
Dies bedeutet jede Kombination außer 12.1 mit Punkten in TNS-Alias, die eine Verbindung zur Datenbank herstellen kann.Irgendwelche Vorschläge?
Lösung
Wir haben herausgefunden, dass dies ein Fehler in JDBC-Treiber 11.2.0.4 und nach hinweist.Wir erstellen einen Bugreport bei Oracle.
Problemumgehung wäre, TNS-Aliase ohne Punkte in ihrem Namen zu verwenden.