Según Oracle, estas ubicaciones se buscan tnsnames.ora
, resp. sqlnet.ora
:
- ruta actual (asociada con la aplicación cliente en ejecución)
- Variable de entorno
TNS_ADMIN
definido para la sesión - Variable de entorno
TNS_ADMIN
definido para el sistema - Clave de registro de Windows
HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN
(para 64 bits) oHKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN
(para 32 bits) %ORACLE_HOME%\network\admin
Sin embargo, no estoy seguro de si cada aplicación/controlador/versión sigue esta lista. Oracle proporcionó esta lista en relación con la versión 9i. Creo que VBScript la administrará para consultar estas carpetas.
Si ORACLE_HOME
no está configurado por la variable de entorno, debe consultar el Registro HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME
(para 64 bits) o HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME
(para 32 bits)
Para ORACLE_HOME_NAME
tienes que navegar a tu Oracle bin
carpeta (que se encuentra a través de %PATH%
Variable de entorno) y abra el archivo oracle.key
. Este es un archivo de texto simple que contiene solo el ORACLE_HOME_NAME
valor, p. OraClient11g_home1 .
Sin embargo, normalmente solo hay un Oracle Home debajo de HKLM\SOFTWARE\ORACLE
, por lo que busca y lee el archivo oracle.key
podría ser una exageración.
Actualizar
Cuando ejecuto una prueba en mi máquina (con Oracle Client 11.2) obtengo el siguiente orden:
- Variable de entorno
TNS_ADMIN
HKLM\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN
, resp.HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN
-> Solo siTNS_ADMIN
La variable de entorno no está configurada.%ORACLE_HOME%\network\admin
- Directorio actual (que puede ser diferente al directorio donde se encuentra su aplicación)
- Carpeta donde se encuentra su aplicación
Para un análisis profundo, debe buscar tnsnames.ora
, sqlnet.ora
y ldap.ora
. El nombre de la base de datos de Oracle se puede resolver a través de cada uno de ellos, es decir, se puede establecer una conexión incluso cuando tnsnames.ora
y sqlnet.ora
no existen.