Estoy intentando conectarme a una base de datos de Oracle con SQL Developer.
Instalé los controladores de Oracle .Net y coloqué el tnsnames.ora
archivo 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?
$TNS_ADMIN
¿el DIRECTORIO no es el.ora
archivo realAbra SQL Developer. Vaya a Herramientas -> Preferencias -> Bases de datos -> Avanzado Luego configure explícitamente el Directorio de Tnsnames
Mi TNSNAMES se configuró correctamente y pude conectarme a Toad, SQL * Plus, etc. pero necesitaba hacer esto para que SQL Developer funcionara. Quizás fue un problema de Win 7, ya que también fue una molestia instalarlo.
fuente
En SQLDeveloper
Tools --> Preferences
, busque , como se muestra en la siguiente imagen.En las opciones de Preferencias
expand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory
donde tnsnames.ora presente.Luego haga clic en Aceptar .
como se muestra en el diagrama de abajo.
Ahora puede conectarse a través de las opciones de TNSnames .
fuente
Siempre puede averiguar la ubicación del archivo tnsnames.ora que se está utilizando ejecutando TNSPING para verificar la conectividad (9i o posterior):
A veces, el problema es con la entrada que hizo en tnsnames.ora, no que el sistema no pueda encontrarla. Dicho esto, estoy de acuerdo en que tener un conjunto de variables de entorno tns_admin es algo bueno, ya que evita los problemas inevitables que surgen al determinar exactamente qué archivo tnsnames se está utilizando en sistemas con múltiples hogares de Oracle.
fuente
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 caché persiste incluso después de que SQL Developer se haya terminado y 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 aún puede realizar la conexión siempre que las especificaciones originales sigan siendo verdaderas. El problema viene con su próximo pequeño giro. SQL Developer trata los nombres de servicio en el archivo tnsnames.ora como valores que distinguen entre mayúsculas y minúsculas al resolver la conexión. Entonces, si solía tener un nombre de entrada ABCD. world en el archivo y lo reemplazó con una nueva entrada denominada abcd.world, SQL Developer NO actualizaría sus especificaciones de conexión para ABCD.world; tratará abcd.world como una conexión completamente diferente. ¿Por qué no me sorprende que un producto de Oracle trate como sensible a mayúsculas y minúsculas el contenido de un formato de archivo desarrollado por Oracle que no distingue entre mayúsculas y minúsculas?
fuente
En Sql Developer, navegue a Herramientas-> preferencias-> Datababae-> avanzado-> Establecer directorio Tnsname en el directorio que contiene tnsnames.ora
fuente
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 averiguar 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 del menú de inicio que apuntaba a una versión en el directorio bin que simplemente no funcionaba. Me pedía una contraseña cada vez que iniciaba SQL Developer, no recordaba las elecciones que había hecho y mostraba una lista en blanco cuando elegía TNS como 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 acceso directo de Inicio e instalé un acceso directo a% ORACLE_HOME% \ client_1 \ sqldeveloper \ sqldeveloper.exe. Ese cambio solucionó el problema en mi caso.
fuente