2010-01-07 58 views
109

Estoy evaluando Oracle SQL Developer.Usar tnsnames.ora en Oracle SQL Developer

Mi tnsnames.ora se rellena, y tnsping a una conexión definida en tnsnames.ora funciona bien. Aún así, SQL Developer no muestra ninguna conexión.

Oracle SQL Developer Soars menciona, que si

tiene software de cliente de Oracle y un archivo tnsnames.ora ya instalado en su máquina, Oracle SQL Developer rellenará automáticamente el navegador de conexiones desde los nombres de servicio de red definidos en tnsnames. ora.

También intenté configurar mi variable de entorno TNS_ADMIN, pero después de reiniciar SQL Developer todavía no se muestran conexiones.

¿Alguna idea?
¿Alguien ha trabajado con SQL Developer y tnsnames.ora?

+0

He descargado e instalado Oracle SQL Developer para conectarme a una base de datos Oracle 11g ya existente. Pero parece que también necesitaré descargar e instalar el software cliente de Oracle, ¿cuál uso si estoy en Windows 10? – VoodooChild

Respuesta

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

    SQLDeveloper access preferences

  • En las Preferencias opciones expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory donde tnsnames.ora presente.
  • Luego haga clic en Ok, como se muestra en el diagrama a continuación.
    tnsnames.ora disponible en Drive:\oracle\product\10x.x.x\client_x\NETWORK\ADMIN

    SQLDeveloper update tnsnames directory

Ahora se puede conectar a través de los TNSNAMES opciones.

+3

everyone, Solo una pequeña actualización sobre esta antigua (pero bastante útil) publicación: no intente utilizar un enlace simbólico en Windows. Desarrollador de SQL no parece saber cómo usarlo. Me hizo perder algo de tiempo. Espero que salve el tuyo. – Hellday5432

+0

@ Hellday5432 - Sí, eso es correcto. SQL Dev se ejecuta en Java que no comprende los accesos directos; por ejemplo, al abrir un archivo no podemos usar un atajo para saltar a un directorio. –

+4

Atajo de Windows! = Enlace simbólico. http://www.howtogeek.com/howto/16226/complete-guide-to-symbolic-links-symlinks-on-windows-or-linux/ –

20

Esto excellent answer a una pregunta similar (que no pude encontrar antes, por desgracia) me ayudó a resolver el problema.

copiar contenido de una respuesta referencia:

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

$ HOME/.tnsnames.ora
$ TNS_ADMIN /tnsnames.ora
TNS_ADMIN clave de búsqueda en el registro
/etc/tnsnames.ora (sin windows)
$ ORACLE_HOME/network/admi n/tnsnames.ora
LocalMachine \ SOFTWARE \ ORACLE \ ORACLE_HOME_KEY
LocalMachine \ SOFTWARE \ ORACLE \ ORACLE_HOME

Si no está siendo reconocido su archivo tnsnames.ora, utilice el siguiente procedimiento:

definir un medio ambiente variable llamada TNS_ADMIN para apuntar a la carpeta que contiene su archivo tnsnames.ora.

En Windows, esto se hace mediante la navegación a Panel de control> Sistema> Configuración avanzada del sistema> Variables de entorno ...
En Linux, definir la variable TNS_ADMIN en el archivo .profile en su directorio personal.

Confirmar el sistema operativo es el reconocimiento de esta variable ambiental

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

desde Linux: echo $ TNS_ADMIN

Reiniciar SQL Developer Ahora en Haga clic en SQL Developer derecha en Conexiones y seleccione Nueva conexión .... Seleccione TNS como tipo de conexión en el cuadro desplegable. Sus entradas de tnsnames.ora ahora deberían mostrarse aquí.

+3

Sé que ha pasado un tiempo, pero ¿puedes sacar la parte relevante de la respuesta aquí? En caso de que esa respuesta (o incluso la pregunta) alguna vez se elimine. –

+0

básicamente se redondea a establecer la variable del sistema TNS_ADMIN (porque SQL Developer busca allí ~ primero) y, después de reiniciar SQL Developer, elegir Nueva conexión, y en la lista desplegable Tipo de conexión, en lugar de Basic, elegir TNS - so - tnsnames se ve bien, pero no debe esperar que las conexiones se llenen automáticamente (ese fue el caso conmigo) –

+0

búsqueda me llevó a ella, así que tiene respuesta actualizada ya que ya hay referencia al autor @DennisMeng – TheGameiswar

4

que tenían el mismo problema, tnsnames.ora funcionó bien para todas las otras herramientas, pero SQL Developer no lo usaría. Probé todas las sugerencias en la web que pude encontrar, incluidas las soluciones en el enlace proporcionado aquí.
Nada funcionó.

Resulta que la base de datos fue el almacenamiento en caché copias de seguridad de tnsnames.ora como tnsnames.ora.bk2, tnsnames09042811AM4501.bak, tnsnames.ora.bk etc. Estos archivos no eran legibles para el usuario medio.

Sospecho que sqldeveloper es coincidencia de patrón para el nombre e intentaba leer una de estas copias de seguridad y no pudo. Por lo tanto, simplemente falla con gracia y no muestra nada en la lista desplegable.

La solución es hacer todos los archivos legibles o eliminar o mover las copias de seguridad fuera del directorio de administración.

+0

Eso es probablemente lo que está viendo. SQL * Plus y SQL Developer ambos ven/analizan/leen tnsnames * - así que si uno está mal, eso podría caer en cascada y causar su problema. – thatjeffsmith

Cuestiones relacionadas