Frage

Ich versuche, zu einer Oracle-Datenbank mit SQL Developer zu verbinden.

Ich habe den Oracle-Treiber .NET installiert und stellte die tnsnames.ora Datei auf
C:\Oracle\product\11.1.0\client_1\Network\Admin

Ich bin mit dem folgenden Format in tnsnames.ora:

dev =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XXX.XXX)(PORT = XXXX))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = idpdev2)
    )
  )

In SQL Developer, wenn ich versuche, eine neue Verbindung zu erstellen, keine TNS-Namen erscheinen als Optionen.

Gibt es etwas, was ich bin fehlt?

War es hilfreich?

Lösung

SQL Developer in der folgenden Position aussieht in dieser Reihenfolge für eine Datei tnsnames.ora

  1. $ HOME / .tnsnames.ora
  2. $ TNS_ADMIN / tnsnames.ora
  3. TNS_ADMIN Lookup-Schlüssel in der Registrierung
  4. /etc/tnsnames.ora (Nicht-Fenster)
  5. $ ORACLE_HOME / network / admin / tnsnames.ora
  6. Localmachine \ SOFTWARE \ ORACLE \ ORACLE_HOME_KEY
  7. Localmachine \ SOFTWARE \ ORACLE \ ORACLE_HOME

Um zu sehen, die man SQL Developer verwendet, geben Sie den Befehl show tns in dem Arbeitsblatt

Wenn Sie Ihre Datei tnsnames.ora nicht erkannt zu werden, gehen Sie folgendermaßen vor:

  1. Definieren Sie eine Umgebungsvariable mit dem Namen TNS_ADMIN in den Ordner verweisen, die Ihre tnsnames.ora-Datei enthält.

    In Windows, wird dies durch die Navigation zu geschehen ist Systemsteuerung > System > Erweiterte Systemeinstellungen > Umgebungsvariablen ...

    Unter Linux definiert die TNS_ADMIN Variable in der Datei .profile in Ihrem Home-Verzeichnis.

  2. Überprüfen Sie den os diese Umgebungsvariable erkennt

    Von der Windows-Befehlszeile ein: echo% TNS_ADMIN%

    Von Linux: echo $ TNS_ADMIN

  3. Starten Sie SQL Developer

  4. Geben Sie nun in SQL Developer rechten Maustaste auf Verbindungen und wählen Sie Neue Verbindung ... . Wählen Sie TNS als Verbindungstyp in der Dropdown-Feld. Ihre Einträge aus tnsnames.ora sollte nun hier angezeigt werden soll.

Andere Tipps

Öffnen SQL Developer. Gehen Sie zu Extras -> Einstellungen -> Datenbanken -> Erweitert Dann explizit die TNSNAMES Directory festgelegt

Meine TNSNAMES wurde richtig eingestellt und ich konnte zu Toad, SQL * Plus usw. anschließen, aber ich brauchte, dies zu tun SQL Developer zu erhalten zu arbeiten. Vielleicht war es ein Problem Win 7, wie es ein Schmerz zu installieren war.

Sie können jederzeit den Standort der Datei tnsnames.ora herausfinden, indem TNSPING ausgeführt genutzt Konnektivität (9i oder höher) zu überprüfen:

C:\>tnsping dev

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 08-JAN-2009 12:48:38

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

Used parameter files:
C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = XXX)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = DEV)))
OK (30 msec)

C:\>

Manchmal ist das Problem mit dem Eintrag ist man in tnsnames.ora, soweit sie nicht, dass das System nicht finden kann. Das heißt, ich stimme zu, dass eine Umgebungsvariable TNS_ADMIN Satz ist eine gute Sache, da es die unvermeidlichen Probleme vermeidet, die mit genau zu bestimmen, ergeben sich die Datei TNSNAMES wird in Systemen mit mehreren Oracle-Häusern verwendet werden.

sqldeveloper Durchsuchen Tools --> Preferences, wie in Bild unten gezeigt.
eingeben Bild Beschreibung hier
In den Einstellungen Optionen expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory wo tnsnames.ora vorhanden.
Klicken Sie dann auf OK .
wie in Abbildung unten gezeigt.

eingeben Bild Beschreibung hier

  

Sie haben getan!

Jetzt können Sie eine Verbindung über die TNSNAMES Optionen.

Die von Jason erwähnt sind sehr gut und sollte funktionieren. Es gibt einen kleinen Twist mit SQL Developer, though. Es speichert die Verbindungsspezifikationen (Host, Service-Name, Port) das erste Mal die Datei tnsnames.ora liest. Dann ist es nicht ungültig die Spezifikationen, wenn der ursprüngliche Eintrag aus der tnsname.ora Datei entfernt wird. Der Cache bleibt auch nach SQL Developer wurde beendet und neu gestartet. Das ist nicht so ein unlogischer Weg, um die Situation der Handhabung. Selbst wenn eine Datei tnsnames.ora vorübergehend nicht verfügbar ist, kann SQL Developer noch die Verbindung herzustellen, solange die ursprünglichen Spezifikationen noch wahr sind. Das Problem kommt mit ihrem nächsten kleinen Twist. SQL Developer behandelt Servicenamen in der Datei tnsnames.ora als case-sensitiven Werte, wenn die Verbindung zu lösen. Also, wenn Sie einen Eintrag Name ABCD.world in der Datei verwendet haben und Sie ersetzt es mit einem neuen Eintrag mit dem Namen abcd.world würde SQL Developer NICHT seine Verbindung Spezifikationen für ABCD.world aktualisieren - es wird behandeln abcd.world als andere Verbindung zusammen. Warum bin ich nicht überrascht, dass ein Oracle-Produkt als Groß- und den Inhalt eines Orakel entwickelte Dateiformat behandeln würde, das ist ausdrücklich Groß- und Kleinschreibung?

In SQL Developer, navigieren Sie Tools-> Einstellungen-> Datenbank-> Erweitert-> Set TNSNAMES in das Verzeichnis enthält tnsnames.ora

Keine der oben genannten Änderungen einen Unterschied in meinem Fall gemacht. Ich konnte TNS_PING im Befehlsfenster ausgeführt, aber SQL Developer konnte nicht herausfinden, wo tnsnames.ora war.

Das Problem in meinem Fall (Windows 7 - 64 Bit - Enterprise) war, dass das Oracle-Installationsprogramm der Verknüpfung im Startmenü auf die falsche Version von SQL Developer hingewiesen. Es erscheint drei SQL Developer Instanzen sein, die das Installationsprogramm begleiten. Eine davon ist in% ORACLE_HOME% \ client_1 \ sqldeveloper \ und zwei sind in% ORACLE_HOME% \ client_1 \ sqldeveloper \ bin \.

Das Installationsprogramm installierte eine Verknüpfung im Startmenü, die in einer Version in dem Verzeichnis ist darauf, die einfach nicht funktionieren. Es wäre nach einem Passwort fragen jedes Mal, wenn ich SQL Developer begann, mich nicht erinnern, Entscheidungen, die ich gemacht hatte, und zeigte eine leere Liste, wenn ich TNS als Verbindungsmechanismus gewählt haben. Es hat auch nicht das TNS-Verzeichnis Feld in der Datenbank erweiterte Einstellungen in anderen Beiträgen verwiesen.

warf ich die alte Start-Verknüpfung und installiert eine Verknüpfung zu% ORACLE_HOME% \ client_1 \ sqldeveloper \ sqldeveloper.exe. Diese Änderung das Problem behoben in meinem Fall.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top