-
hi, guys,
need help desperately. I have an Oracle 8i v. 8.1.5.0.0 on Windows NT. I have a front-end application written in C accessing it through Microsoft ODBC for Oracle. I always get the error "ORA-12154 TNS could not resolve service name" whenever I connect to the database using the Microsoft ODBC driver. I have already setup my Tnsnames.ora using Net8 Assistant and is as follows:
EPPIC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = cnow)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = EPPIC)
)
)
I've tried using Tnsping and I get the error "TNS-03505: Failed to resolve name".
Using the same service name, "EPPIC", I am able to connect to the database using Oracle ODBC Driver. I am really at a loss here.
The Microsoft ODBC driver for Oracle I am using is v. 2.273.6526.00, while the Oracle ODBC driver version is 8.01.05.00.
Thanks for replying to this query.
.
-
Before you get ODBC working, make sure you can connect to the box using sqlplus. If you can get sqlplus working, you can get ODBC working.
The steps I use to resolve networking issues are:
1. try to ping the server from the client. If it fails, you have a TCP/IP networking issue.
2. try to tnsping the database from the server. If this fails, you probably have a problem with your listener.
3. Try connect to the database using a loopback test from the server. If this fails, you probably have a tnsnames.ora problem.
4. try to tnsping the database from the client. If this fails, you problably have a naming issue on the CLIENT (tnsnames.ora).
5. try to connect to the database using sqlplus from the client. If this fails, you probably have a naming issue on the client.
Jeff Hunter
-
Jeff,
Can you elaborate what is the 'loopback test' you mentioned in step 3?
Thanks!
-
Oh, sorry, I meant to elaborate on my original post.
A loopback test is when you try to connect to the server from the server using a sqlnet alias. For example, say your ORACLE_SID=test and your TNSNAMES.ORA alias is TEST.WORLD.
If you can connect via IPC:
Code:
dev% export ORACLE_SID=test
dev% sqlplus system/manager
then at least your database is up. Then, you can perform a loopback test using the tnsnames.ora alias:
Code:
dev% export ORACLE_SID=prod
dev% sqlplus system/manager@test.world
This way, you are verifying that you have the listener working correctly and that you have a valid tnsnames.ora alias on the server. The next step is to just copy the correct tnsnames.ora alias to the client and Voila!, you're done.
Jeff Hunter
-
Why not just use the Oracle ODBC driver you already have working?
Doug
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|