ventana una the remota puedo por not network establish developer datos crear could consola conexiones conexion conectarse aparece database oracle oracle-sqldeveloper tnsnames tns

database - the - Los nombres de Oracle TNS no se muestran al agregar una nueva conexión a SQL Developer



the network adapter could not establish the connection (7)

Desarrollador de SQL abierto. Vaya a Herramientas -> Preferencias -> Bases de datos -> Avanzado Luego establezca explícitamente el Directorio de nombres

Mi TNSNAMES se configuró correctamente y pude conectarme a Toad, SQL * Plus, etc., pero tenía que hacer esto para que SQL Developer funcionara. Tal vez fue un problema de Win 7, ya que fue un dolor de instalar también.

Estoy intentando conectarme a una base de datos Oracle con SQL Developer.

Instalé los controladores de .Net Oracle y coloqué el archivo tnsnames.ora en
C:/Oracle/product/11.1.0/client_1/Network/Admin

Estoy usando el siguiente formato en tnsnames.ora:

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

En SQL Developer, cuando intento crear una nueva conexión, no aparecen nombres TNS como opciones.

¿Se me escapa algo?


En SQLDeveloper, navega Tools --> Preferences , como se muestra en la imagen de abajo.



En las opciones de Preferencias , expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory donde tnsnames.ora está presente.
Luego haz clic en Ok .
como se muestra en el diagrama a continuación.

¡Has hecho!

Ahora puede conectarse a través de las opciones de TNSnames .


En Sql Developer, navegue a Herramientas-> preferencias-> Datababae-> advanced-> Establezca el directorio Tnsname en el directorio que contiene tnsnames.ora


Los pasos mencionados por Jason son muy buenos y deberían funcionar. Sin embargo, hay un pequeño giro con SQL Developer. Almacena en caché las especificaciones de conexión (host, nombre del servicio, puerto) la primera vez que lee el archivo tnsnames.ora. Entonces, no invalida las especificaciones cuando la entrada original se elimina del archivo tnsname.ora. La memoria caché persiste incluso después de que SQL Developer haya finalizado y se haya reiniciado. Esta no es una forma tan ilógica de manejar la situación. Incluso si un archivo tnsnames.ora no está disponible temporalmente, SQL Developer puede realizar la conexión mientras las especificaciones originales sigan siendo verdaderas. El problema viene con su próximo pequeño giro. SQL Developer trata los nombres de los servicios en el archivo tnsnames.ora como valores que distinguen entre mayúsculas y minúsculas al resolver la conexión. Entonces, si solías tener un nombre de entrada ABCD.world en el archivo y lo reemplazaste con una nueva entrada llamada abcd.world, SQL Developer NO actualizaría sus especificaciones de conexión para ABCD.world - tratará a abcd.world como un diferente conexión por completo. ¿Por qué no me sorprende que un producto de Oracle trate el contenido de un formato de archivo desarrollado por Oracle que sea expresamente sensible a mayúsculas y minúsculas?


Ninguno de los cambios anteriores hizo ninguna diferencia en mi caso. Podría ejecutar TNS_PING en la ventana de comandos, pero SQL Developer no pudo determinar dónde estaba tnsnames.ora.

El problema en mi caso (Windows 7 - 64 bit - Enterprise) fue que el instalador de Oracle señaló el acceso directo del menú Inicio a la versión incorrecta de SQL Developer. Parece haber tres instancias de SQL Developer que acompañan al instalador. Uno está en% ORACLE_HOME% / client_1 / sqldeveloper / y dos están en% ORACLE_HOME% / client_1 / sqldeveloper / bin /.

El instalador instaló un atajo de menú de inicio que apuntaba a una versión en el directorio bin que simplemente no funcionaba. Le pedía una contraseña cada vez que comenzaba SQL Developer, no recordaba las elecciones que había hecho y mostraba una lista en blanco cuando elegía TNS como el mecanismo de conexión. Tampoco tiene el campo Directorio TNS en la configuración avanzada de la Base de datos a la que se hace referencia en otras publicaciones.

Lancé el antiguo atajo de Inicio e instalé un acceso directo a% ORACLE_HOME% / client_1 / sqldeveloper / sqldeveloper.exe. Ese cambio solucionó el problema en mi caso.


SQL Developer buscará en la siguiente ubicación en este orden un archivo tnsnames.ora

  1. $ HOME / .tnsnames.ora
  2. $ TNS_ADMIN / tnsnames.ora
  3. TNS_ADMIN clave de búsqueda en el registro
  4. /etc/tnsnames.ora (sin windows)
  5. $ ORACLE_HOME / network / admin / tnsnames.ora
  6. LocalMachine / SOFTWARE / ORACLE / ORACLE_HOME_KEY
  7. LocalMachine / SOFTWARE / ORACLE / ORACLE_HOME

Para ver qué desarrollador de SQL está usando, ejecute el comando show tns en la hoja de trabajo

Si su archivo tnsnames.ora no se reconoce, use el siguiente procedimiento:

  1. Defina una variable de entorno llamada TNS_ADMIN para apuntar a la carpeta que contiene su archivo tnsnames.ora.

    En Windows, esto se hace navegando a Panel de control > Sistema > Configuración avanzada del sistema > Variables de entorno ...

    En Linux, defina la variable TNS_ADMIN en el archivo .profile en su directorio de inicio.

  2. Confirme que el sistema operativo está reconociendo esta variable ambiental

    Desde la línea de comando de Windows: echo% TNS_ADMIN%

    Desde linux: echo $ TNS_ADMIN

  3. Reiniciar SQL Developer

  4. Ahora en SQL Developer, haga clic derecho en Connections y seleccione New Connection .... Seleccione TNS como tipo de conexión en el cuadro desplegable. Sus entradas de tnsnames.ora ahora deberían mostrarse aquí.

Siempre puede encontrar la ubicación del archivo tnsnames.ora que se está utilizando ejecutando TNSPING para verificar la conectividad (9i o posterior):

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

A veces, el problema es con la entrada que hizo en tnsnames.ora, no es que el sistema no pueda encontrarla. Dicho esto, acepto que tener una variable de entorno tns_admin establecida es una buena cosa, ya que evita los problemas inevitables que surgen al determinar exactamente qué archivo tnsnames se está utilizando en sistemas con múltiples hogares Oracle.