Heim >Java >javaLernprogramm >Wie stellt man mithilfe des Dienstnamens in JDBC eine korrekte Verbindung zu einer Oracle-Datenbank her?

Wie stellt man mithilfe des Dienstnamens in JDBC eine korrekte Verbindung zu einer Oracle-Datenbank her?

DDD
DDDOriginal
2024-12-02 06:54:10447Durchsuche

How to Correctly Connect to an Oracle Database Using Service Name in JDBC?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn