Oracle (0x80004005)ORA-12154: TNS:could not resolve the connect identifier

ChickSentMeHighE picture ChickSentMeHighE · Aug 13, 2010 · Viewed 13k times · Source

I'm trying to connect to an oracle db from an ASP classic application, however I keep running into the ORA-12154 error.

  1. TNSNAMES.ORA is configured properly

    DBSOURCE.A.B.com = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = C.D.B.com)(PORT = 1231)) ) (CONNECT_DATA = (SERVICE_NAME = DBSOURCE) ) )

  2. I can TNSPING

    C:\Documents and Settings\USERID.A>tnsping DBSOURCE

    TNS Ping Utility for 32-bit Windows: Version 10.2.0.4.0 - Production on 09-MAR-2 011 09:12:31

    Copyright (c) 1997, 2007, Oracle. All rights reserved.

    Used parameter files: C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\sqlnet.ora

    Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = C.D.B.com)(PORT = 1231))) (CONNECT_DATA = (SERVIC E_NAME = DBSOURCE))) OK (30 msec)

  3. I can create an ODBC connection and I've tested the connection which is successful.

  4. I can connect to the oracle db through toad.
  5. I've checked my sqlnet.ora file

    NAMES.DEFAULT_DOMAIN = A.B.com

    SQLNET.AUTHENTICATION_SERVICES= (NONE)

    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

  6. I've also checked that the TNSNAMES.ORA as one of my system paths.

  7. I can connect to the DB with SQLPLUS

Here is the code that throws the error

dim CnnStr

Set Cnn = Server.CreateObject("ADODB.Connection")

CnnStr="Provider=MSDAORA.1;Password=pass;User ID=user;Data Source=DBSOURCE"

Cnn.Open CnnStr

I am running windows XP Pro 32bit SP3

I've tested this on a co-workers machine and the asp app has no issues, am I missing a configuration somewhere or did I mess up my config?

Thanks for the help everyone!

Answer

Derick Schoonbee picture Derick Schoonbee · Mar 14, 2011

It seems all the settings have been checked but here is my suggestions for some trouble shooting:

  • How about restrictions on the account IIS is running under? Does it have the file permissions to read the TNSNAMES? Have you tried to give the user more rights. Even run IIS with Local As System Account? Remember to put it back the way it was.
  • You are sure there is not 3rd party app such anti virus or firewall that could influence / block access. (Disable them to test but do not forget to re-enable :)

(What did you finally do to solve it?)