Avatar of nQuote
nQuote
Flag for Afghanistan asked on

tnsnames.ora not visible in Toad

I have a machine which has tnsnames.ora and sqlnet.ora in the right places with right values. When I do Session/New Connections in TOAD, it has the proper Oracle home value under 'Connect Using'. However, I see the 'SQLNET Editor' button enabled with green check but the 'TNSNames Editor' button is disabled. I was thinking that if Oracle home is properly defined, it knows where to look for tnsnames.ora.

Any ideas?
Oracle Database

Avatar of undefined
Last Comment
Wasim Akram Shaik

8/22/2022 - Mon
nQuote

ASKER
My Oracle is installed on Windows.
David VanZandt

You need the TNS_ADMIN variable defined either at the system or user level.  Confirm there is no value first by going to a command prompt and running SET to list the in-use variables.  It should look something like $ORACLE_HOME/network/admin.

TNS_ADMIN is set under the Control Panel | System | Advanced | Environment Variables.

Reboot the PC in order to enable the string.  TOAD should then recognize the variable and map it.
nQuote

ASKER
When I do 'set' at Windows command prompt, I don't see either ORACLE_HOME or TNS_ADMIN.
Your help has saved me hundreds of hours of internet surfing.
fblack61
David VanZandt

My bad, you would have ORACLE_HOME only if the database software was installed.  You can execute a search on "tnsnames.ora"; set TNS_ADMIN to its drive:path name.  Make sense?
nQuote

ASKER
I don't have TNS_ADMIN defined anywhere in my machine but Toad is working fine. It is somebody else's machine that I am trying to get working.
Wasim Akram Shaik

I dont think that toad would look for a TNS_ADMIN variable..

The problem you might be having here is because of the tnsnames.ora file not being present in your $ORACLE_HOME/Network/Admin Path


As dvz suggested, Place tnsnames.ora file over the TNS_ADMIN path, toad will automatically detect that file and that button would get automatically enabled..

But yes, you have to make sure that your ORACLE_HOME variable is set properly..

but dvz, even if the client is present then ORACLE_HOME variable gets set right, we don't need the database software at all times..
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Wasim Akram Shaik

Also I am sure, if toad is working fine as author had mentioned.., I think, there is an oracle client, which is allowing himto connect(or may be toad itself is having a built in client)
nQuote

ASKER
When I do:
set

in Windows command prompt, the tnsnames.ora does not exist in the Oracle path but I can connect to Oracle fine. I also don't have TNS_ADMIN defined anywhere (not in System/Advanced/Environment Variables). It works perfectly fine on my machine. How can that be?
Wasim Akram Shaik

When I do:
set

in Windows??

What have you set?? didn't get you...

There is no need of TNS_ADMIN, ORACLE_HOME has to be defined and it should be present in environment variable, thats enough for an oracle client to connect to oracle.. by default toad also uses the same oracle client to connect to oracle and to make use of TNSNamesEditor in toad, you have to place the tnsnames.ora file in the $ORACLE_HOME/Network/Admin path(which is referred as TNS_ADMIN),
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
nQuote

ASKER
I have Oracle server on a Unix box and Oracle client on Windows. In Windows, under the results of the 'set', command I don't have ORACLE_HOME or TNS_ADMIN defined. In System/Advanced/Environment Variables, I don't have ORACLE_HOME or TNS_ADMIN defined. In my path, I have:

D:\oracle\product\10.2.0\client_2\bin;

I have tnsnames.ora and sqlnet.ora defined in both D:\Oracle\product\10.2.0\client_2\NETWORK\ADMIN\ and D:\Oracle\product\10.2.0\client_2\NETWORK\ADMIN\SAMPLE\.

In Unix, when I do:
echo $ORACLE_HOME
I see the whole path for Oracle, i.e., ../oracle/oratools/product/10.2.0.

On the Unix server, I have tnsnames.ora and sqlnet.ora defined in both .../NETWORK/ADMIN/ and .../NETWORK/ADMIN/SAMPLE/. This is visible to other users as well.

In my Toad, I see the TNSNames Editor button fine. This other user doesn't.
Wasim Akram Shaik

---In my Toad, I see the TNSNames Editor button fine. This other user doesn't.

The User which doesn't see the button.. does he has the same configuration which you have mentioned in the steps above in windows machine..

We don't have to check anything at server end for this particular issue.

On the user machine where in Toad is unable to use TNSNames Editor, create the environment variables ORACLE_HOME and assign it the location/path where the oracle client is installed.

after this restart the system.. this should resolve your problem..
nQuote

ASKER
How come I don't have ORACLE_HOME and TNS_ADMIN defined and everything works fine? Just curious.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
Wasim Akram Shaik

I am not sure how its working fine even if you don't have these things defined..

but defining the  ORACLE_HOME will resolve this problem

May be i think because of the ORACLE_HOME Path defined in the PATH (D:\oracle\product\10.2.0\client_2\bin) is doing the trick for you..

Else, you could do the same thing of pointing the path to ORACLE_HOME in the other system where Toad is not working and can see whether the same thing makes the toad to work for you(for tnsnames editor button)
nQuote

ASKER
Issue is not resolved yet. Getting the error:

Toad error - Can't initialize OCI. Error -1

Researching...
ASKER CERTIFIED SOLUTION
Wasim Akram Shaik

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.