相信作为ORACLE数据库的开发人员没有少碰到“ORA-12154: TNS: 无法解析指定的连接标识符”,今天我也又碰到了类似的情况,将我的解决方法进行小结,希望能对碰到同样问题的友人们提供帮助。

问题场景描述:

服务器端版本:oracle 10.2.0.10

客户端版本:oracle 10.2.0.10

客户端开发工具:PL/SQL Developer

通过客户端来连接服务器,其主要文件就是通过客户端的tnsnames.ora来配置,在原文件的基础上增加:

SID别名 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = SERVER_IP)(PORT = 1521))

)

(CONNECT_DATA =

(SID = SID_NAME)

)

)

例:

dev_db =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.5)(PORT = 1521))

)

(CONNECT_DATA =

(SID = ora10)

)

)

通过PL/SQL Developer连接dev_db时,报“ORA-12154: TNS: 无法解析指定的连接标识符”。(这个问题以前也碰到过,但解决方法不太一样,因具体的问题不太一样。)

我将自己知道的一些解决方法说一下:

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

客户端:tnsping

服务器Linux下:

#>lsnrctl status 查看监听状态

#>lsnrctl start 启动监听

2.通过Sql Plus连接一下试试,如果Sql Plus连接能成功,那就说明你的tnsnames.ora内容有错误

我的问题就在别名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,这时就可以正常登录了。

如果您还碰有ORA-12154:错误代码的其他原因和有其他的解决方法,请跟贴评论我会加以完善这篇文章的!谢谢!

oracle-12154,ORA-12154: TNS: 无法解析指定的连接标识符(原创)相关推荐

  1. 关于解决oracle登录:ora-12154:tns:无法解析指定的连接标识符

    准备五一开始学习oracle,所以今天就打算把oracle 10g安装下.安装完后就来进行测试是否能够正常的工作. 在安装的过程中,配置的全局数据库为tmt. 但是使用SQL Plus登陆的时候,用户 ...

  2. linux平台 ora 12154,ORA-12154 TNS 无法解析指定的连接标识符

    ORA-12154 TNS 无法解析指定的连接标识符 [日期:2011-12-27] 来源:Linux社区  作者:love_Ubuntu ORA-12154 TNS 无法解析指定的连接标识符 .今天 ...

  3. oracle数据库报错12154,PL/SQL登录Oracle数据库报错ORA-12154:TNS:无法解析指定的连接标识符解决方法...

    本篇文章小编给大家分享一下PL/SQL登录Oracle数据库报错ORA-12154:TNS:无法解析指定的连接标识符解决方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. ...

  4. oracle数据库12154,PL/SQL登录Oracle数据库报错ORA-12154:TNS:无法解析指定的连接标识符已解决(本地未安装Oracle需要连接服务器上的)...

    ORA-12154:TNS:无法解析指定的连接标识符 ORA-12154:TNS:无监听程序 错误分析一.PL/SQL 客户端登录到数据库,如果配置错误会有以上错误,如下图. 这个错误主要是pl/sq ...

  5. linux oracle无法解析指定的连接标识符_ORA-12154: TNS: 无法解析指定的连接标识符解决...

    用PL/SQL Developer连接公司Oracle数据库,登录时出现如下错误信息:ORA-12154: TNS: 无法解析指定的连接标识符,(有时可能不会出现错误对话框,但也连不上,多试几次都会弹 ...

  6. oracle提示 ORA-12154: TNS: 无法解析指定的连接标识符 OCIEnvCreate 失败, 返回代码为-1,但错误消息文本不可用...

    装上oracle的客户端,在ASP.Net下面怎么连都连不到oracle数据库(操作系统是XP,报错找不到OIC.DLL,之前我也遇到过,重装了一下客户端就好了,我用的是2000 profession ...

  7. 牛皮了!遇到“ORA-12154: TNS: 无法解析指定的连接标识符”错误,到底该如何解决?

    ORA-12154: TNS: 无法解析指定的连接标识符 相信使用过Oracle数据库的人一定碰到过"ORA-12154: TNS: 无法解析指定的连接标识符"错误,我在此做一个小 ...

  8. ORA-12154:TNS:无法解析指定的连接标识符

    .net连接Oracle数据库时候出现此错误. ORA-12154: TNS:无法解析指定的连接标识符 ORA-12154: TNS:could not resolve the connect ide ...

  9. win7 64位 VS2010调试提示“ORA-12154: TNS: 无法解析指定的连接标识符”的解决方法

    win7 64位 VS2010调试提示"ORA-12154: TNS: 无法解析指定的连接标识符"的解决方法 参考文章: (1)win7 64位 VS2010调试提示"O ...

最新文章

  1. Lambda 表达式基础理论与示例
  2. python3生成一个定长列表_range方法在Python2和Python3中的不同
  3. BABOK - 企业分析(Enterprise Analysis)概要
  4. IDEA:vue中缺少vue-quill-editor富文本插件
  5. Ext.state.Manager.setProvider(new Ext.state.CookieProvider())
  6. 国际化android
  7. java密码查询回显和修改流程_[求助]数据库信息如何回显在我的程序界面中
  8. JDK各个版本的新特性jdk1.5-jdk8
  9. vmware虚拟机Centos安装samba全过程
  10. 2015年江苏省计算机c语言二级考试,2015江苏省计算机等级考试C语言部分试题.doc...
  11. python中tolist()功能
  12. shell十三问-3) 別人 echo、你也 echo ,是问 echo 知多少
  13. Linux环境下安装yafu
  14. 施乐7855维修手册中文版_GE苏伊士MK-2EPHARM EDI模块维修、清洗、注意事项
  15. 有哪些文艺而有韵味的句子?
  16. FTP虚拟用户(转发)
  17. 阿里云云计算ACP学习(八)---网络与VPC
  18. 2020-10-26可转债新规
  19. widget是什么意思?
  20. TestDirector8.0 下载 安装

热门文章

  1. Mac 移动硬盘突然自己异常退出了(二)
  2. web大文件上传断点续传源码
  3. 【转】2000块买iPhone4S?二手手机内幕详解
  4. Python标准库:codecs【专门做编码转换】【open()、encode()、decode()、lookup()、getencoder()】【读写文件codecs.open()优于open()】
  5. oracle设置标识列,Oracle中为表设置自动增长的标识列
  6. php 工行e生活登录,工银e生活开发脱坑日志(9)JAVA版的SDK自动生成msgId,PHP如何生成消息通讯唯一编号msgId...
  7. 如何获得excel文件名和工作表名
  8. BOOTSTRAP 编码规范 by @mdo
  9. 华为ct5000瘦客户机_第八集[达特分享]华为CT5000一键刷BIOS安装OpenWRT制作软路由...
  10. dct变换可以用什么方法代替_什么是DCT变换?为什么要进行DCT变换?