Where is TNSNAMES.ORA? [duplicate]
Asked Answered
A

3

13

I am working on a Windows server and access Oracle databases using the Oracle ODBC driver. I have Oracle ODBC connections that work fine on this machine.

However I want to add a new connection, and when testing it I get the error

Unable to connect
SQL State=S1000
[Oracle][ODBC][Ora] ORA-12170: TNS: Connect timeout occurred

I presume, though I am no DBA, that this has something to do with my TNS Service Name not being in TNSNAMES.ORA which points oracle toward the right server, port, etc.

However I cannot find TNSNAMES.ORA

I have an ORACLE_HOME environment variable, but it is empty.

Where can I find this file or otherwise configure my TNS names?

Acrylic answered 25/11, 2015 at 3:3 Comment(8)
Did you check this? docs.oracle.com/database/121/NETRF/tnsnames.htm#NETRF259Corinacorine
attrib /s tnsnames.oraTolerate
cd c:\ then dir /s tnsnames.oraEugeniusz
Yes but it refers either to the TNS_ADMIN environment variable, which I don't have, or to ORACLE_HOME, which is emptyAcrylic
both of these get me 'file not found', and yet I definitely have working processes which use the ODBC driver configured with a TNS Service Name.Acrylic
Solved. I was able to use IP:port/service name instead of the TNSNAME. I think there is simply no TNSNAMES.ORA on that computer.Acrylic
TNS: Connect timeout occurred sounds more like a network problem or firewall issue, not a missing tnsnames.ora file.Passing
t as @WernfriedDomscheit says, it is a network/firewall problem. All these speculaions about the tnsname.ora file are wrongMajewski
L
16

tnsnames.ora is located in the ORACLE_HOME\network\admin directory on Windows. Oracle home path is usually C:\app\oracle_account\product\12.1.0\dbhome_1 in windows.

Lankester answered 26/4, 2019 at 6:1 Comment(0)
S
6

How to find 'TNSNAMES.ORA' on Windows

Step 1) Please check if Oracle has been installed on your system. On Cmd, Type 'sql plus' enter image description here

  1. Then Control Panel -> Advanced System Settings ->

enter image description here

3)On the 'Advanced' tab, select 'Environment Variables' Then check 'Oracle ' or 'TNS_ADMIN' on System Variables.

enter image description here

  1. Here, on 'TNS_ADMIN' will get the path for TNS file

enter image description here

Symptomatology answered 17/2, 2021 at 15:31 Comment(0)
S
1

The path to the tns file can be listed in machine.config too.

<oracle.manageddataaccess.client>
 <version number="4.121.2.0">
  <settings>
    <setting name="TNS_ADMIN" value="C:\app\client\...\product\12.1.0\client\network\admin"/>
  </settings>
 </version>
</oracle.manageddataaccess.client>
Sadducee answered 23/3, 2022 at 20:44 Comment(1)
That's a good general solution. The interesting thing about the actual value in your answer is that it appears to be a default location that the Oracle libraries will use anyway. I.e you don't need to set TNS_ADMIN at all for ODBC in this case.Beedon

© 2022 - 2024 — McMap. All rights reserved.