ORA-12154 could not resolve the connect identifier specified

前端 未结 14 2774
南旧
南旧 2020-12-06 09:18

I have switched over to the 64bit Windows 7 and created a simple web app to test the connection to the database. I am using VS 2010 - plain asp.net web project and I am runn

相关标签:
14条回答
  • 2020-12-06 10:02

    Please let me repeat what Stephen said since I missed it the first time myself. The TNS_ADMIN environment variable and ORACLE_HOME is set to C:\instantclient_11_2 and th tnsnames.ora file is in there. Found the answer on this link.

    0 讨论(0)
  • 2020-12-06 10:03

    I am going to assume you are using the tnsnames.ora file to specify your available database services. If so connection errors usually come down to two things.

    1. The application cannot find the TNS entry you specified in the connection string.

    2. The TNS entry was found, but the IP or host is not correct in the tnsnames.ora file.

    To expand on number 1 (which I think is your problem). When you tell Oracle to connect using something like:

    sqlplus user/pass@service
    

    The service is defined in the tnsnames.ora file. If I attempt to connect with a service that is not defined in my tnsnames.ora, I get the error you get:

    [sodonnel@home ~]$ sqlplus sodonnel/sodonnel@nowhere

    SQL*Plus: Release 11.2.0.1.0 Production on Mon Oct 31 21:42:15 2011
    
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    
    ERROR:
    ORA-12154: TNS:could not resolve the connect identifier specified
    

    So you need to check a few things:

    1. Is there a tnsnames.ora file - I think yes because your console can connect
    2. Is there an entry in the file for the service - I think also yes as the console connects
    3. Can the application find the tnsnames.ora?

    Your problem may well be number 3 - does the application run as a different user than when you run the console?

    Oracle looks for the tnsnames.ora file in the directory defined in the TNS_ADMIN environment variable - If you are running as different users, then maybe the TNS_ADMIN environment variable is not set, and therefore it cannot find the file?

    0 讨论(0)
  • 2020-12-06 10:06

    Another obnoxious error type I've encountered in Oracle 11: entries in tnsnames.ora that don't begin at the first column of the line (' XXX=(...)' instead of 'XXX=(...)') and are parsed together with the preceding entry, making it malformed.

    Like replaced orr misplaced tnsnames.ora files, this type of problem is easy to diagnose with the tnsping command-line utility: you pass it the name of a tnsnames.ora entry and it gives the complete text of its definition.

    0 讨论(0)
  • 2020-12-06 10:07

    In my case, the reason for this error was that I was missing the tnsnames.ora file under client_32\NETWORK\ADMIN

    0 讨论(0)
  • 2020-12-06 10:08

    Use this link.on Microsoft Support

    I gave permission to IUSR_MachineName user on oracle home folder and I was able to resolve the problem

    0 讨论(0)
  • 2020-12-06 10:11

    I had this error in Visual Studio 2013, with an SSIS project. I set Project, Properties, Debugging, Run64BitRuntime = false and then the SSIS package ran. However, when I deployed the package to the server I had to set the value to true (Server is 64 bit Windows 2012 / Sql 2014 ).

    I think the reasoning behind this is that Visual Studio is a 32 bit application.

    0 讨论(0)
提交回复
热议问题