sql >> Database >  >> RDS >> Oracle

het identificeren van de locatie van de relevante tnsnames en echoën naar de console

Volgens Oracle worden deze locaties doorzocht op tnsnames.ora , resp. sqlnet.ora :

  1. huidig ​​pad (gekoppeld aan de actieve clienttoepassing)
  2. Omgevingsvariabele TNS_ADMIN gedefinieerd voor de sessie
  3. Omgevingsvariabele TNS_ADMIN gedefinieerd voor het systeem
  4. Windows-registersleutel HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN (voor 64 bit) of HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\TNS_ADMIN (voor 32 bit)
  5. %ORACLE_HOME%\network\admin

Ik weet echter niet zeker of elke applicatie/driver/versie deze lijst volgt. Deze lijst is geleverd door Oracle met betrekking tot versie 9i. Ik denk dat het u zal lukken om deze mappen door VBScript te doorzoeken.

Als ORACLE_HOME niet is ingesteld door de omgevingsvariabele, moet u het register HKLM\SOFTWARE\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME opvragen (voor 64 bit) of HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{ORACLE_HOME_NAME}\ORACLE_HOME (voor 32 bit)

Voor ORACLE_HOME_NAME je moet naar je Oracle bin . gaan map (te vinden via %PATH% omgevingsvariabele) en open bestand oracle.key . Dit is een eenvoudig tekstbestand met alleen de ORACLE_HOME_NAME waarde, bijv. OraClient11g_home1 .

Meestal is er echter maar één Oracle Home onder HKLM\SOFTWARE\ORACLE , dus zoeken en lezen van bestand oracle.key is misschien een overkill.

Bijwerken

Als ik een test op mijn computer uitvoer (met Oracle Client 11.2) krijg ik de volgende volgorde:

  1. Omgevingsvariabele TNS_ADMIN
  2. HKLM\SOFTWARE\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN , resp. HKLM\SOFTWARE\Wow6432Node\ORACLE\KEY_{Oracle_Home_Name}\TNS_ADMIN -> Alleen als TNS_ADMIN Omgevingsvariabele is niet ingesteld.
  3. %ORACLE_HOME%\network\admin
  4. Huidige map (die kan verschillen van de map waarin uw toepassing zich bevindt)
  5. Map waarin uw toepassing zich bevindt

Voor een diepgaande analyse moet je zoeken naar tnsnames.ora , sqlnet.ora en ldap.ora . De Oracle-databasenaam kan via elk van hen worden opgelost, d.w.z. er kan een verbinding tot stand worden gebracht, zelfs wanneer tnsnames.ora en sqlnet.ora bestaan ​​niet.




  1. hoe op te lossen Kreeg min één van een leesaanroep in orakel 11g jdbc 7/14 jdk 1.7?

  2. Krijg alle berichten met een specifieke tag en bewaar alle andere tags op resultaten met SQL

  3. Hoe ojdbc7 toevoegen aan Java-webapp door Gradle?

  4. Factuur tafel ontwerp