ora-12203 TNS unable to connect to destination

Posted on 2004-04-02
Last Modified: 2013-12-11
i have installed 9i database and it is working well but the problem is in the form developer
it dose not connect to the database and gives me this error "TNS unable to connect to destination"
my processor is 'pentium 4' and my database is in the same computer and i am not using a network
please i need this help as soon as possible....thank you
Question by:amany_ahmed
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +1

Expert Comment

ID: 10746210
Hi amany_ahmed,

Oracle uses a tnsnames.ora file which was probably written when you used the Net8 Configuration Assistant; by default it is stored in ORACLE_HOME\network\admin. That means that each ORACLE_HOME has it's own tnsnames.ora that it looks for.

You could copy the file from the ORACLE_HOME that's working to one that's not, but there are easier ways. I'm going to recommend that you set the TNS_ADMIN parameter in the registry.

Consider the following sample which has 9i database in HOME1 and form developer in HOME2.

Open 'regedit' and browse to the HOME1:

ORACLE_HOME = c:\oracle\ora91
[NEW KEY] TNS_ADMIN = c:\oracle\ora91\network\admin

ORACLE_HOME = c:\oracle\formsdev
[NEW KEY] TNS_ADMIN = c:\oracle\ora91\network\admin

This is your most likely difficulty. I'll be happy to give other suggestions or more detail if you ask.

Does that make sense?

Author Comment

ID: 10748774
Hi barthdev
 thank you for your help, but i have done what  you have told me but the error is still there .
it will be nice of you if you send me  any other suggestions.

Expert Comment

ID: 10748961

Start > Run > cmd
> cd c:\oracle\ora91\bin
(to your actual database home)
> tnsping <sid>
(your actual database sid)

What happens?

And what is your actual database home?

And how did you set your TNS_ADMIN?
Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.


Expert Comment

ID: 10751292

you can use tnsping program to test definition and connection.

on ms-doc command prompt, write;

tnsping databasename

LVL 48

Expert Comment

ID: 10755250
Oracle Server <---> Developer 6i:
Oracle Developer6i and the Oracle8i database require separate Oracle home directories.
Even if you configure SQL*net (Net8) in the Oracle home that your database Oracle server uses, so that you can connect via SQL*Plus, that does not allow Developer2000 to connectsuccessfuly to the Oracle server.  You also need to configure SQL*Net (in tnsnames.ora file) in the
Oracle home for Developer2000.  You can do that either using the GUI tools, or to copy two files:
sqlnet.ora and tnsnames.ora from your 8i Oracle home to your Developer2000 Oracle home.  In your 8i
Oracle home these files are in: \Network\admin, but in your Developer2000 home they are in: \Net80\Admin. A safety measure is to save a copy of them first, before you make changes or copy other ones in. This is so because you have to keep a way for restoring the files if you make a mistake.
This is a generic advise I collected for a year answering to this kind of questions.
About connection between Personal Oracle and Forms 6 look at

You can use the "Oracle Net 8 assistant", "Oracle Net 8 Easy config" to see if you have the appropriate entry to the server in the local tnsnames.ora file (find it!). I mean that one in the Client or Forms&Reports home, not that one in the Oracle_Home.
Under local I mean the file tnsnames.ora  in your application, not at the Oracle Server - this is a common mistake.

You have to have there an entry like: =
      (ADDRESS = (PROTOCOL = TCP)(HOST = = 1521))
      (SERVICE_NAME = REKS816)

Be aware that in old versions of Oracle instead of SERVICE_NAME you have to use SID. So (SERVICE_NAME = REKS816)will be (SID = REKS816)
It is a bad practice, but you can add such entry using simple text editor. But before that make a copy of tnsnames.ora in order to restore it if you do not succeed.

Author Comment

ID: 10769625
sorry for being late ,

i have tried the first soluation (tnsping) but my database use character set of(arabic) so it show me symbolic words which i cann't
understand .

the other soulation (changing in files) i tried it befor but it didn't work.

and by the way i checked up the file of the error detailes and it show me that  "there was
an error in protocol compatable"

and there is something else,
when i install the same versionof dev. on another pc which has  the same version of windows(2000) ,the developer connected to the database correctly, and the  other pc has no different hardware except the network card.

is this can make that difference ,cause really i want to know from where it comes that error.

thank you
LVL 48

Accepted Solution

schwertner earned 500 total points
ID: 10772220
Look, the problem is clear.
If you use Arabic letters this means that you have created your DB using AL32UTF8.
BUT ... this character set is unknown in the world of 8i and your Forms belongs to this 8i world!!!

WORKAROUND: Download from Metalink the latest Forms patch (at least Patch 12) and apply it. You will have no problems. The same about Oracle 8,8i clients - they will not work against the 9i DB!

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Require data to appear on a single line 2 81
make null the repeated levels 2 37
Fill Date time Field 12 33
Oracle performance tuning 2 32
Why doesn't the Oracle optimizer use my index? Querying too much data Most Oracle developers know that an index is useful when you can use it to restrict your result set to a small number of the total rows in a table. So, the obvious side…
Introduction A previously published article on Experts Exchange ("Joins in Oracle", makes a statement about "Oracle proprietary" joins and mixes the join syntax with gen…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

696 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question