Verwenden Sie tnsnames.ora in Oracle SQL Developer

136

Ich evaluiere Oracle SQL Developer .

Mein tnsnames.oraist gefüllt und ein tnspingzu einer in definierten Verbindung tnsnames.orafunktioniert einwandfrei. SQL Developer zeigt jedoch keine Verbindungen an.

Oracle SQL Developer Soars erwähnt, dass wenn

Wenn auf Ihrem Computer bereits eine Oracle-Client-Software und eine Datei tnsnames.ora installiert sind, füllt Oracle SQL Developer den Connections-Navigator automatisch aus den in tnsnames.ora definierten Netzdienstnamen.

Ich habe auch versucht, meine TNS_ADMINUmgebungsvariable festzulegen, aber nach dem Neustart von SQL Developer werden immer noch keine Verbindungen angezeigt.

Irgendwelche Ideen?
Hat jemand erfolgreich mit SQL Developer und tnsnames.ora gearbeitet?

Peter Lang
quelle
Ich habe den Oracle SQL Developer heruntergeladen und installiert, um eine Verbindung zu einer bereits vorhandenen Oracle 11g-Datenbank herzustellen. Es scheint jedoch, dass ich auch Oracle-Client-Software herunterladen und installieren muss. Welche verwende ich, wenn ich unter Windows 10 bin?
VoodooChild

Antworten:

219
  • Durchsuchen Sie in SQLDeveloperTools --> Preferences , wie in der folgenden Abbildung gezeigt.

    SQLDeveloper-Zugriffseinstellungen

  • In den Einstellungen , in expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directorydenen tnsnames.ora vorhanden ist.
  • Klicken Sie dann auf OK , wie in der folgenden Abbildung gezeigt.
    tnsnames.ora verfügbar unterDrive:\oracle\product\10x.x.x\client_x\NETWORK\ADMIN

    SQLDeveloper-Update tnsnames-Verzeichnis

Jetzt können Sie über die TNSnames- Optionen eine Verbindung herstellen.

Chandra Sekhar
quelle
4
Alle, nur ein kleines Update zu diesem alten (aber recht hilfreichen) Beitrag: Versuchen Sie nicht, unter Windows einen symbolischen Link zu verwenden. SQL Developper scheint nicht zu wissen, wie man es benutzt. Ich habe etwas Zeit verloren. Hoffe, es wird deine retten.
Hellday5432
@ Hellday5432 - Ja das ist richtig. SQL Dev läuft auf Java, das keine Verknüpfungen versteht. Zum Beispiel können wir beim Öffnen einer Datei keine Verknüpfung verwenden, um zu einem Verzeichnis zu springen.
Kent Pawar
5
Windows-Verknüpfung! = Symbolischer Link. howtogeek.com/howto/16226/…
Matt Lachman
Ich habe den Oracle SQL Developer heruntergeladen und installiert, um eine Verbindung zu einer bereits vorhandenen Oracle 11g-Datenbank herzustellen. Es scheint jedoch, dass ich auch Oracle-Client-Software herunterladen und installieren muss. Welche verwende ich, wenn ich unter Windows 10 bin?
VoodooChild
Die Verzeichnisoption Tnsnanes wird in meiner SQL Developer-Version 1.5.5 nicht angezeigt.
Amit Chaurasia
24

Diese ausgezeichnete Antwort auf eine ähnliche Frage (die ich leider vorher nicht finden konnte) half mir, das Problem zu lösen.

Kopieren von Inhalten aus der Antwort, auf die verwiesen wird:

SQL Developer sucht an der folgenden Stelle in dieser Reihenfolge nach einer Datei tnsnames.ora

$ HOME / .tnsnames.ora
$ TNS_ADMIN / tnsnames.ora
TNS_ADMIN-Suchschlüssel in der Registrierung
/etc/tnsnames.ora (Nicht-Windows)
$ ORACLE_HOME / network / admin / tnsnames.ora
LocalMachine \ SOFTWARE \ ORACLE \ ORACLE_HOME_KEY
LocalW \ ORACLE \ ORACLE_HOME

Wenn Ihre Datei tnsnames.ora nicht erkannt wird, gehen Sie wie folgt vor:

Definieren Sie eine Umgebungsvariable mit dem Namen TNS_ADMIN, die auf den Ordner verweist, der Ihre Datei tnsnames.ora enthält.

In Windows navigieren Sie dazu zu Systemsteuerung> System> Erweiterte Systemeinstellungen> Umgebungsvariablen ...
Definieren Sie unter Linux die Variable TNS_ADMIN in der Profildatei in Ihrem Ausgangsverzeichnis.

Stellen Sie sicher, dass das Betriebssystem diese Umgebungsvariable erkennt

Über die Windows-Befehlszeile: echo% TNS_ADMIN%

Unter Linux: echo $ TNS_ADMIN

Starten Sie SQL Developer jetzt neu. Klicken Sie in SQL Developer mit der rechten Maustaste auf Verbindungen und wählen Sie Neue Verbindung. Wählen Sie im Dropdown-Feld TNS als Verbindungstyp aus. Ihre Einträge von tnsnames.ora sollten jetzt hier angezeigt werden.

Peter Lang
quelle
3
Ich weiß, dass es eine Weile her ist, aber können Sie hier den relevanten Teil der Antwort herausziehen? Nur für den Fall, dass diese Antwort (oder sogar die Frage) jemals gelöscht wird.
Dennis Meng
1
Im Grunde geht es darum, die Systemvariable TNS_ADMIN festzulegen (da SQL Developer dort zuerst sucht ~) und nach dem Neustart von SQL Developer die Option Neue Verbindung auszuwählen und in der Dropdown-Liste Verbindungstyp anstelle von Basic die Option TNS - so - tnsnames auszuwählen, aber in Ordnung Sie sollten nicht erwarten, dass die Verbindungen automatisch
ausgefüllt
Suche nahm mich sie, so haben Antwort aktualisiert, da es bereits Verweis auf den Autor @DennisMeng
TheGameiswar
7

Ich hatte das gleiche Problem, tnsnames.orafunktionierte gut für alle anderen Tools, aber SQL Developer würde es nicht verwenden. Ich habe alle Vorschläge im Internet ausprobiert, die ich finden konnte, einschließlich der Lösungen unter dem hier angegebenen Link.
Nichts hat geklappt.

Es stellt sich heraus , dass die Datenbank wurde das Caching von Sicherungskopien tnsnames.orawie tnsnames.ora.bk2, tnsnames09042811AM4501.bak, tnsnames.ora.bkusw. wurden diese Dateien durch den durchschnittlichen Benutzer nicht lesbar.

Ich vermute, dass sqldeveloper ein Mustervergleich für den Namen ist und versucht hat, eine dieser Sicherungskopien zu lesen, und dies nicht konnte. Es schlägt also nur elegant fehl und zeigt nichts in der Dropdown-Liste.

Die Lösung besteht darin, alle Dateien lesbar zu machen oder die Sicherungskopien zu löschen oder aus dem Admin-Verzeichnis zu verschieben.

Jim
quelle
Das ist wahrscheinlich genau das, was Sie sehen. SQL Plus und SQL Developer sehen / analysieren / lesen beide tnsnames. Wenn also jemand schlecht ist, kann dies zu einer Kaskade führen und Ihr Problem verursachen.
Thatjeffsmith
0

Bei den neueren Versionen von macOS muss man auch einstellen java.library.path. Der einfachste / sicherste Weg, dies zu tun [1], besteht darin, eine ~/.sqldeveloper/<version>/sqldeveloper.confDatei zu erstellen und als solche zu füllen:

AddVMOption -Djava.library.path=<instant client directory>

[1] https://community.oracle.com/message/14132189#14132189

Dinvlad
quelle