Herstellen einer Verbindung zu Oracle mit Servicename vs. SID in JDBC
Eine der häufigsten Anforderungen in Java-Anwendungen, die JDBC verwenden, ist die Verbindung zu Oracle Datenbank. In der Vergangenheit wurde für diesen Zweck häufig die Oracle-SID verwendet, doch viele moderne Datenbanken nutzen jetzt stattdessen den Oracle-Dienstnamen. Dieser Artikel befasst sich mit dem Problem der Verbindung zu Oracle mithilfe des Servicenamens anstelle der SID in einer Java-Anwendung.
Im bereitgestellten Szenario versucht die JDBC-URL, mithilfe des Oracle-Servicenamens eine Verbindung zu einer Datenbank herzustellen, was jedoch fehlschlägt. Die größte Herausforderung besteht in der falschen Syntax für die Verbindung über den Dienstnamen.
Die korrekte Syntax für die Verbindung zu Oracle über den Dienstnamen in JDBC lautet:
jdbc:oracle:thin:@//host_name:port_number/service_name
Daher wäre die korrigierte URL:
jdbc:oracle:thin:@//oracle.hostserver2.mydomain.ca:1522/ABCD
Alternativ kann der Oracle TNS-Name auch in der JDBC-URL angegeben werden, als folgt:
jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL=TCP)(HOST=blah.example.com)(PORT=1521)))(CONNECT_DATA=(SID=BLAHSID)(GLOBAL_NAME=BLAHSID.WORLD)(SERVER=DEDICATED)))
Durch die Verwendung der richtigen Syntax kann die JDBC-Anwendung mithilfe des Dienstnamens erfolgreich eine Verbindung zur Oracle-Datenbank herstellen.
Das obige ist der detaillierte Inhalt vonWie stellt man mithilfe des Dienstnamens in JDBC eine korrekte Verbindung zu einer Oracle-Datenbank her?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!