Kann keine Verbindung zu Oracle mit Spring-Boot und Hibernate
Ich habe eine funktionierende Spring Boot app (1.2), verwendet Postgres. Heute bin ich versucht zu wechseln, es zu Oracle, aber wenn ich versuche zu verbinden bekomme ich eine Ausnahme, die sagt:
java.sql.SQLRecoverableException: IO Error: The Network Adapter could not establish the connection
Und unten, dass
Caused by: java.net.ConnectException: Connection refused
So natürlich, das aussieht wie schlecht Anmeldeinformationen, aber ich weiß, Sie sind gut, und Sie arbeiten in einem Oracle SQL-Developer einfach nur gut. Ich bin ratlos. Hier sind meine Eigenschaften-Datei-Einträge:
# Properties for Hibernate and Oracle
spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@//earth-db-11:5121/stardev
spring.datasource.username=ops$abcdefg
spring.datasource.password=mypassword
spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect
Die einzige Idee die ich habe ist, dass es ist ein $ in den Namen des Benutzers, und ich habe versucht, daran vorbei und setzen Anführungszeichen um ihn herum.
Irgendwelche Ideen?
Dank...
UPDATE:
Vielen Dank BonanzaOne, ich habe die port-Nummer falsch. Korrigiert wird, dass die Ergebnisse in einen neuen Fehler:
java.sql.SQLRecoverableException: Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
Sah ich es natürlich, aber ich Folge nicht dem, was Ihr mir zu sagen:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
Cause: The listener received a request to establish a connection to a database
or other service. The connect descriptor received by the listener specified a
service name for a service (usually a database service) that either has not yet
dynamically registered with the listener or has not been statically configured
for the listener. This may be a temporary condition such as after the listener
has started, but before the database instance has registered with the listener.
Immer noch, SQL-Explorer verbindet in Ordnung.
- zu Gunsten von @BonanzaOne Antwort, können Sie eine Verbindung zu Oracle mit SQL Developer verwenden die exakt gleichen Anmeldeinformationen/connection-url?
- Hoppla, so stardev ist eine SID, nicht den Namen eines Dienstes. Just gotta herauszufinden, wie man die SID statt...
- Es habe! Ich hatte zu ändern / zu a : ein, UND entfernen Sie die // vor dem host-Namen. Vielen Dank Leute!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Ausnahme bedeutet, dass die Oracle-listener nicht auf, oder Sie versuchen, eine Verbindung zu einem listener, die nicht existieren/nicht zugänglich.
Meine Vermutung ist, dass Sie versuchen, den falschen port "5121". Oracle-Standard-port ist 1521.
Können Sie versuchen und sehen, was passiert?
Aus der FAQ es gibt grundsätzlich zwei Möglichkeiten, Komponieren Sie Ihre JDBC-string-URL:
Meine Vermutung ist, dass Sie mit der falschen syntax-SID/Dienstname Kombination, in anderen Worten, Sie sind mit der neuen syntax erfordert, dass der SERVICE-name, aber Sie sind mit den SID-name, um es zu tun.
Versuchen Sie dies: jdbc:oracle:thin:@earth-db-11:1521:stardev
Oder vielleicht finden Sie heraus, den Namen des Service und wenden Sie an die neue syntax, die Sie verwenden, anstelle der SID-name.