我已经切换到64位的Windows7,并创建了一个简单的web应用程序来测试与数据库的连接。我使用的是VS2010- plain asp.net web项目,并且我在VS中运行应用程序。
我收到此错误:"ORA-12154无法解析指定的连接标识符“
我还有一个样例控制台应用程序,用于测试与数据库的连接,并且运行良好。
在谷歌了一下之后,我发现网上有很多帖子都提到了权限,所以我把我的C:/Oracle权限设置为ASP.net帐户、网络服务、计算机名的读/写/执行。这仍然不能解决问题。我检查了我的web应用程序是否在我的domain\username帐户下运行,以及该帐户是否拥有对C:\Oracle文件夹的读/写/执行权限。
我甚至重新安装了VS,以确保它位于C:\Program Files而不是C:\Program Files(x86)中。
你知道为什么我的web应用看不到连接字符串吗?(虽然控制台应用程序可以)不确定我还能做什么。
发布于 2011-11-01 05:36:18
我将假设您使用tnsnames.ora文件来指定可用的数据库服务。如果是这样的话,连接错误通常归结为两件事。
在第一点上展开(我认为这是你的问题)。当您告诉Oracle使用以下命令进行连接时:
sqlplus user/pass@service该服务在tnsnames.ora文件中定义。如果我尝试使用tnsnames.ora中未定义的服务进行连接,则会收到以下错误:
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所以你需要检查几件事:
您的问题很可能是第三个-应用程序是否以与您运行控制台时不同的用户身份运行?
Oracle在TNS_ADMIN环境变量中定义的目录中查找tnsnames.ora文件--如果您以不同的用户身份运行,那么可能没有设置TNS_ADMIN环境变量,因此它无法找到该文件?
发布于 2016-06-23 03:03:49
有一个类似的问题,只有我的web应用程序是正常的,是SQLPlus给我带来了连接问题,以及ORA-12154 could not resolve the connect identifier specified错误。我安装了11g和12个Oracle客户端。我的环境变量都设置为指向我的12实例:
ORACLE_HOME = C:\oracle\product\12PATH = C:\oracle\product\12\bin;....TNS_ADMIN = C:\oracle\product\12\network\adminHKLM\Software\Oracle\KEY_OraClient12Home1还需要一个注册表条目,即TNS_ADMIN的字符串条目,其路径与环境变量相同。
我在C:\oracle\product\11\network\admin和C:\oracle\product\12\network\admin上都有一个tnsnames.ora。据我所知,我的web应用程序和我使用的12 SQLPlus客户端都应该使用所有的12版本变量。
我的故障排除步骤:
使用11g's 11.
12更改为11.
12更改回12.所以我真的不知道是什么原因导致12的SQLPlus停止连接,但这种重置可能对某些人有效,所以我想在这里记录它。
发布于 2012-08-24 09:16:50
可能会有很多问题,但如果您使用的是oracle 10g,请卸载oracle 10g,并从注册表中删除该值,然后安装oracle 11g。但是,如果您使用的是oracle 11g,请首先检查注册表是否指向right home。有时可能会有多个home,因为您需要反复安装sql developer。在这种情况下,您可以删除不必要的home注册表值,也可以向所有这些home添加tns和sql.net文件,这可能会解决问题。我用这种方式解决了我的问题。
https://stackoverflow.com/questions/7957955
复制相似问题