Noms TNS Oracle non visibles lors de l’ajout d’une nouvelle connexion à SQL Developer

J’essaie de me connecter à une firebase database Oracle avec SQL Developer.

J’ai installé les pilotes Oracle .Net et placé le fichier tnsnames.ora à
C:\Oracle\product\11.1.0\client_1\Network\Admin

J’utilise le format suivant dans tnsnames.ora:

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

Dans SQL Developer, lorsque j’essaie de créer une nouvelle connexion, aucun nom TNS n’apparaît comme une option.

Y a-t-il quelque chose qui me manque?

    SQL Developer recherchera l’emplacement suivant dans cet ordre pour un fichier tnsnames.ora

    1. $ HOME / .tnsnames.ora
    2. $ TNS_ADMIN / tnsnames.ora
    3. Clé de recherche TNS_ADMIN dans le registre
    4. /etc/tnsnames.ora (non-windows)
    5. $ ORACLE_HOME / network / admin / tnsnames.ora
    6. LocalMachine \ SOFTWARE \ ORACLE \ ORACLE_HOME_KEY
    7. LocalMachine \ SOFTWARE \ ORACLE \ ORACLE_HOME

    Pour voir quel développeur SQL utilise, show tns la commande show tns dans la feuille de calcul

    Si votre fichier tnsnames.ora n’est pas reconnu, utilisez la procédure suivante:

    1. Définissez une variable d’environnement appelée TNS_ADMIN pour pointer sur le dossier contenant votre fichier tnsnames.ora.

      Dans Windows, vous accédez à Panneau de configuration > Système > Paramètres système avancés > Variables d’environnement …

      Sous Linux, définissez la variable TNS_ADMIN dans le fichier .profile de votre répertoire personnel.

    2. Confirmez que l’OS reconnaît cette variable d’environnement

      Depuis la ligne de commande Windows: echo% TNS_ADMIN%

      De linux: echo $ TNS_ADMIN

    3. Redémarrer SQL Developer

    4. Maintenant, dans SQL Developer, cliquez avec le bouton droit sur Connexions et sélectionnez Nouvelle connexion …. Sélectionnez TNS comme type de connexion dans la liste déroulante. Vos entrées de tnsnames.ora devraient maintenant s’afficher ici.

    Ouvrez SQL Developer. Allez dans Outils -> Préférences -> Bases de données -> Avancé Puis définissez explicitement le répertoire Tnsnames

    Mon TNSNAMES a été configuré correctement et je pouvais me connecter à Toad, SQL * Plus etc. mais je devais le faire pour que SQL Developer fonctionne. Peut-être était-ce un problème avec Win 7, car il était difficile à installer.

    Vous pouvez toujours trouver l’emplacement du fichier tnsnames.ora utilisé par TNSPING pour vérifier la connectivité (9i ou ultérieure):

     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:\> 

    Parfois, le problème est dû à l’entrée que vous avez créée dans tnsnames.ora, et non pas au fait que le système ne le trouve pas. Cela dit, je suis d’accord que le fait d’avoir un ensemble de variables d’environnement tns_admin est une bonne chose, car il évite les problèmes inévitables liés à la détermination exacte du fichier tnsnames utilisé dans les systèmes comportant plusieurs maisons Oracle.

    Dans SQLDeveloper, parcourez Tools --> Preferences , comme illustré ci-dessous.

    entrer la description de l'image ici

    Dans les options de préférences , expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directorytnsnames.ora est présent.
    Cliquez ensuite sur Ok .
    comme indiqué dans le diagramme ci-dessous.

    entrer la description de l'image ici

    Vous avez fait!

    Vous pouvez maintenant vous connecter via les options TNSnames .

    Les étapes mentionnées par Jason sont très bonnes et devraient fonctionner. Il y a cependant un petit changement avec SQL Developer. Il met en cache les spécifications de connexion (hôte, nom de service, port) lors de la première lecture du fichier tnsnames.ora. Ensuite, il n’invalide pas les spécifications lorsque l’entrée d’origine est supprimée du fichier tnsname.ora. Le cache persiste même après la fin de SQL Developer et son redémarrage. Ce n’est pas une manière si illogique de gérer la situation. Même si un fichier tnsnames.ora est temporairement indisponible, SQL Developer peut toujours établir la connexion tant que les spécifications d’origine sont toujours correctes. Le problème vient avec leur prochaine petite torsion. SQL Developer traite les noms de service du fichier tnsnames.ora en tant que valeurs sensibles à la casse lors de la résolution de la connexion. Donc, si vous aviez un nom d’entrée ABCD.world dans le fichier et que vous l’avez remplacé par une nouvelle entrée nommée abcd.world, SQL Developer ne met PAS à jour ses spécifications de connexion pour ABCD.world – il traitera abcd.world comme un autre connexion tout à fait. Pourquoi ne suis-je pas surpris qu’un produit Oracle considère comme sensible à la casse le contenu d’un format de fichier développé par Oracle qui est expressément insensible à la casse?

    Dans Sql Developer, naviguez vers Tools-> preferences-> Datababae-> advanced-> Définissez le répertoire Tnsname dans le répertoire contenant tnsnames.ora

    Aucun des changements ci-dessus n’a fait de différence dans mon cas. Je pourrais exécuter TNS_PING dans la fenêtre de commande mais SQL Developer ne pouvait pas déterminer où se trouvait tnsnames.ora.

    Le problème dans mon cas (Windows 7 – 64 bits – Enterprise) était que le programme d’installation d’Oracle indiquait le raccourci du menu Démarrer sur la mauvaise version de SQL Developer. Il semble y avoir trois instances SQL Developer accompagnant le programme d’installation. L’une se trouve dans% ORACLE_HOME% \ client_1 \ sqldeveloper \ et deux dans% ORACLE_HOME% \ client_1 \ sqldeveloper \ bin \.

    Le programme d’installation a installé un raccourci de menu de démarrage qui indiquait une version du répertoire bin qui ne fonctionnait tout simplement pas. Il demandait un mot de passe chaque fois que je démarrais SQL Developer, je ne me souvenais pas des choix que j’avais faits et affichais une liste vierge lorsque j’ai choisi TNS comme mécanisme de connexion. Il n’a pas non plus le champ Répertoire TNS dans les parameters avancés de la firebase database référencés dans d’autres publications.

    J’ai lancé l’ancien raccourci Démarrer et installé un raccourci vers% ORACLE_HOME% \ client_1 \ sqldeveloper \ sqldeveloper.exe. Ce changement a résolu le problème dans mon cas.