ORA-12154: TNS:could not resolve the connect identifier specified

今天碰到一个状况,有一台机器用PLSQL链接数据库怎么也连不上,一直报这个错:ora--12154 :TNS :could not resolve the connect identifier specified数据库

查看状况:数据库没有问题,其余同事能够链接,本机Net Manager 配置链接时也正常,测试也经过;只有PLSQL登陆时连不上,同时程序链接也不行。注:本机器刚重装系统,新搭的环境。服务器

后来上网搜了一圈,根据现象,大概判断是客户端的问题,因而让同事本身瞧瞧是否是客户端安装有问题,他本身也以为好象有点不对,安装目录下没有多少东西,因而建议重装客户端,第二次重装后仍是不行,因卸载不完全。此次清理干净了,再重装了一次,告知一次都OK了。oracle

下面将搜到的一些好资料都总结起来:编辑器

1.先检查服务器端的监听服务是否打开,若是没有打开请启动其监听ide

客户端:tnsping <tns_name>      服务器Linux:工具

     #>lsnrctl status查看监听状态测试

     #>lsnrctl start 启动监听spa

2.经过Sql Plus链接一下试试,若是Sql Plus链接能成功,那就说明你的tnsnames.ora内容有错误.net

个人问题就在别名dev_db前面有一个空格,这个能够经过文本编辑器(Edit Plus,UE)来查看是否有空格,只要有空格那就确定是不行的,并且若是那段内容是出如今文件的中间的话,将致使该文件里全部相应的链接别名都不成功,若是是在最后面就只有其自身链接别名不能成功,其余链接别名仍是能链接成功。(注:个人tnsnames.ora配置了多个数据库实例的链接,全部才有多个链接别名。)插件

如:

空格dev_db = (DESCRIPTION =    (ADDRESS_LIST =      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.5)(PORT = 1521))    )    (CONNECT_DATA =      (SID = ora10)    ) )

3.若是确保你的tnsnames.ora内容没有错误,那请将%ORACLE_HOME%\product\10.2.0\db_1\NETWORK\ADMIN目录下的全部文件删了,而后从新链接,通常就能解决了。

说明一下:那个目录里的文件是在你创建链接的时候动态生成的,不要怕删了会有问题

4.进入PLSQL Developer的主界面,在登陆界面选择取消即不登陆进入主界面,而后选择菜单Tools(工具)-Preferences(首选项),在设置窗口中,选择Oracle-Connection(链接),对应设置窗口中,找到Oracle Home(Oracle主目录),选择你本地所安装客户端的版本,保存设置,而后从新启动PLSQL Developer,这时就能够正常登陆了

 

装了解决Oracle Developer Tools以后,出现“ORA-12154: TNS: 没法解析指定的链接标识符报错的解决方法以下:

    1.检查注册表,HKey_LocalMachine\Software\Oracle下面的Oracle_Home,若不对,修改为正确的;

    2.卸载ODP for .Net (或者卸载ODT for .Net, ODT中包含ODP, ODTVS.Net的一个集成插件,用于链接和浏览oracle数据库,而且提供对oracle数据库的拖拽操做,相似VS.Net对于SQL Server的资源管理器)

    3.若是ODT for .Net的目录依然存在,删除或者重命名此目录;

    而后重起系统,从新链接ASP.Net程序,若是还有一样的错误,看着办吧,我建议重装Oracle吧。

    分析缘由:系统原来装的是ORACLE 10G 10.1.0,卸载后还没重启就装上10.2.0,结果先是监听器起不来,居然仍是指向10.1.0的位置,监听器固然不能启动了。

    处理过程:     1、查找注册表,将监听器指向新的位置,重启服务,OK     2PL/SQL DEVELOPER仍是链接不了,其它方式都正常。将原先安装在其它逻辑盘的ODP for .Net 卸载重装到与ORACLE 10.2.0同一位置。重启系统,DEVELOPER仍是报错,不过些时报错提示信息为空。     3、由于DEVELOPER设置有更改后,进入菜单TOOLSPREFERENCES...设置,在ORACLE下的CONNECTION中,将ORACLE HOMEOCI LIBIARY设为空即自动检测。链接正常,问题解决。

    2、应用程序中报错:

    一个很难想到的引发ORA-12154的缘由         使用OracleClient.OracleConnection(我连的是Oracle 11g,其余版本未知),若是你的执行目录太长或者有括号等(未考察有些什么符号),那么即便你的服务名是对的,也会引发ORA-12154问题“TNS:没法处理服务名,当出现这个问题时,请也考虑这个缘由

 

原文连接:http://blog.csdn.net/loadrunn/article/details/7895726

相关文章
相关标签/搜索