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
-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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es schauen, wie die Oracle-JDBC-Treiber kann nicht mit mehreren service-Namen.
Verwenden Sie diesen Eintrag
InformationsquelleAutor InuSasha
Kann ich erfolgreich eine Verbindung zu oracle über tnsnames.ora in der folgenden Weise
test flyway mit diesem Befehl
flyway -configFile=zugroute.conf info
Erhalte ich diese Ausgabe
InformationsquelleAutor MatteoOreficeIT
Idealerweise sollten Sie nicht über eine Verbindung TNS, weil Sie müssen, installieren Sie einen oracle-client auf Ihrem Computer.
Wenn Sie eine Verbindungs-url wie folgt Sie benötigen kein oracle-client:
Wenn Sie noch verwenden möchten, TNS, ich würde Beratung über den folgenden link: stackoverflow.com/questions/4832056/... . Aber host und port nicht geändert werden sollte, nach dem Zufallsprinzip im Laufe der Zeit. Sollten Sie Ställe für jede Umgebung. Die eine Sache, die Sie tun MÜSSEN, ist zu externalisieren Sie die url aus, die Sie Anwendung also können für jede Umgebung.
dieser link ist eigentlich besser: razorsql.com/articles/oracle_jdbc_connect.html
Danke für die links Tom. Die url ist bereits externalisiert, und wir sind jetzt mit
jdbc:oracle:thin:@//host:port/service_name
- format. Denke, es gibt keinen Weg, wir können mit Oracle-JDBC-Treiber verwenden, TNS Name aus tnsnames.ora, wenn es mehrere Aliase.InformationsquelleAutor tom