Wie eine Verbindung zur Oracle-Datenbank über JDBC-thin-Treiber mit TNSNames-Alias-Syntax

Ich versuche eine Verbindung zu Oracle (11.2.0.2.0) - Datenbank mithilfe des Oracle-JDBC-thin-Treiber(ojdbc6.jar für 11.2.0.2.0) und die folgenden JDBC-URL-syntax:

jdbc:oracle:thin:@abcd

wo 'abcd' ist definiert in meine tnsnames.ora-Datei, wie unten gezeigt:

    abcd, abcd.world, abcd.dk.xyz.com  =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = abcd.dk.xyz.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = abcd)
    )
  )

Ich habe die VM-option -Doracle.net.tns_admin=/etc/tnsnames.ora als pro Oracle® Database JDBC Developer ' s Guide und Referenz.

Ich erhalte die folgende Fehlermeldung, wenn ich die Anwendung ausführen:

    Listener refused the connection with the following error:
ORA-12504, TNS:listener was not given the SID in CONNECT_DATA

Aber wenn ich entfernen Sie die Aliase abcd.Welt und abcd.dk.xyz.com aus tnsnames.ora, meine Anwendung ist in der Lage die Verbindung zu der Datenbank.

Gibt es ein Problem mit ojdbc Treiber, wenn es mehrere Aliase in tnsnames.ora-Datei?

Mein JDK-version 1.6.0_31.

Dank,
VJ

oracle.net.tns_admin zeigen sollte, auf ein Verzeichnis nicht in eine Datei. so sollte es sein -Doracle.net.tns_admin=/etc. Beachten Sie auch, dass der Datenbank-cluster möglicherweise mehr als einen Hostnamen ein plus gibt es Dutzende von Verbindungs-Parameter DBAs vielleicht möchten Sie auf setup. tnsnames.ora sollte wirklich bevorzugte Weg. JDBC-urls sind zu "dumm".

InformationsquelleAutor V.J. | 2013-01-25

Schreibe einen Kommentar