[Oracle] JDBC URL (HOST, PORT, SERVICE) aus Oracle Datenbank mit SQL generieren

Thomas Darimont

Erfahrenes Mitglied
Hallo,

hier ein kleines Beispiel wie man mittels SQL und Zugriff auf die administrative View v$dispatcher_config eine JDBC URL generieren kann mit der man sich zur aktuellen
Oracle Instanz, von einer Java Anwendung aus - entsprechende Credentials vorausgesetzt, verbinden kann. Dazu werden der Hostname des Servers, der Port des Oracle Listeners und der Oracle Service Name aus der v$dispatcher_config ausgelesen.

SQL:
WITH dispatcher_details AS (
  SELECT 
          regexp_replace(listener,'.*HOST=([^)]+).*','\1') AS host
        , regexp_replace(listener,'.*PORT=([^)]+).*','\1') AS port
        , service
  FROM 
        v$dispatcher_config
  WHERE 
        instr(NETWORK,'PROTOCOL=TCP') > 0
)
select 'jdbc:oracle:thin:@//' || host || ':' || port || '/' || service AS jdbc_url_thin from dispatcher_details;

Ausgabe:
Code:
JDBC_URL_THIN                                  
-----------------------------------------------
jdbc:oracle:thin:@//HOSTNAME:PORT/SERVICENAME

Gruß Tom
 

Neue Beiträge

Zurück