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了。

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

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

客户端:tnsping <tns_name>
      服务器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,这时就可以正常登录了

装了解决Oracle Developer Tools之后,出现“ORA-12154: TNS: 无法解析指定的连接标识符”报错的解决方法如下:

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

2.卸载ODP for .Net (或者卸载ODT for .Net, ODT中包含ODP, ODT 是VS.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;
    2、PL/SQL DEVELOPER还是连接不了,其它方式都正常。将原先安装在其它逻辑盘的ODP for .Net 卸载重装到与ORACLE 10.2.0同一位置。重启系统,DEVELOPER还是报错,不过些时报错提示信息为空。
    3、因为DEVELOPER设置有更改后,进入菜单TOOLS》PREFERENCES...设置,在ORACLE下的CONNECTION中,将ORACLE HOME和OCI LIBIARY设为空即自动检测。连接正常,问题解决。

二、应用程序中报错:

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

ora--12154 :TNS :could not resolve the connect identifier specified 错误处理相关推荐

  1. PL/SQL developer连接oracle出现“ORA-12154:TNS:could not resolve the connect identifier specified”问题的解决

    PL/SQL developer连接oracle出现"ORA-12154:TNS:could not resolve the connect identifier specified&quo ...

  2. Oracle 10g ORA-12154: TNS: could not resolve the connect identifier specified 问题解决!

    今天,从上周就捆饶我的问题终于被我搞定了,为了方便记忆就把解决方法写下来. 我的电脑上之前安装了Oracle 11g database,配置完变量用PL/SQL操作,一切OK .当又安装完ODTwit ...

  3. Oracle ORA-12154: TNS:could not resolve the connect identifier specified(不积跬步,无以至千里)

    ORA-12154: TNS:could not resolve the connect identifier specified 在网上也找了些方法,但没有解决我的问题. 之前sql环境同步里是: ...

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

    进入系统属性页面 rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3 并添加系统环境变量 ORACLE_HOME = ${path} TNS_AD ...

  5. Detailed OCI error val is 12154 and errmsg is ‘ORA-12154: TNS:could not resolve the connect identifi

    搭建11.2.0.1 的DG ,报了下面的错误: Detailed OCI error val is 12154 and errmsg is 'ORA-12154: TNS:could not res ...

  6. ORA-12154: TNS:could not resolve the connect identifier spec

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 在安装ORACLE安装的 ...

  7. 【数据库】报错ora 12154 解决方法

    Oracle报错 ora 12154 解决办法: 1.确认服务器监听正确打开: 2.确认别名前无空格.

  8. jenkins ssh 部署 Can't connect to server 错误

    enkins ssh 部署 Can't connect to server 错误 1.使用Jenkins插件做ssh远程部署的时候总是提示 Can't connect to server  查看日志有 ...

  9. three.js在Vue中出现Can‘t resolve ‘zlib‘ ‘fs‘‘path‘‘stream‘错误

    在学three.js过程中,引入RGBELoader之后出现Can't resolve 'zlib' 'fs''path''stream'错误 具体报错信息如下: webpack < 5 use ...

最新文章

  1. mapreduce 文件可以切分吗_MapReduce的任务流程
  2. Flyweight Pattern简单随笔
  3. STM8单片机ADC单次采样模式
  4. usb驱动自安装程序的制作
  5. UVA - 101 The Blocks Problem
  6. softmgr主程序_为什么我电脑打开后,我的电脑打不开,控制面板一
  7. 电驴让分享继续 服务器不稳定,电驴快快跑—分流教程
  8. 【云原生】Kubernetes编排工具精讲
  9. isprime函数python_Python“函数”之我见
  10. data could not be sent to remote host
  11. “行走的广告牌”——椰树牌椰汁
  12. 腾讯视频下载的视频怎么导出来_手机腾讯视频怎么缓存视频电影
  13. 对于等待事件(direct path read)的理解
  14. java 制作签名版电子合同pdf版本
  15. matlab用eval函数,matlab—eval函数
  16. 【Atlas500】入门到放弃(六)——【DVPP】浅析HFBC格式数据存在的意义
  17. 金色传说:SAP-ABAP-SELECT * FORM 内表语法
  18. [终于解决]Ubuntu14.04 32位安装移动网卡(0bda:b711)驱动8188gu tplink-WN726n
  19. 『摄影欣赏』2013年微软必应搜索十大首页美图
  20. 笔记本电脑怎么保养_西藏家用配电箱怎么卖

热门文章

  1. [css] 行内元素可以设置padding和margin吗?
  2. 工作215:点击按钮报错
  3. 前端学习(2657):vue3实现计算器
  4. 前端学习(1537):为什么使用ng
  5. 前端学习(1324):anysc关键字
  6. 前端学习(589):在console中调试日志
  7. 第八十五期:一文彻底搞懂cookie和session
  8. 第五十九期:商用数据库之死:Oracle 面临困境
  9. linux快速php,Linux 下的这些高效指令,是你快速学习的神器
  10. channelsftp的put_java实现sftp客户端上传文件以及文件夹的功能代码