ORA-12154:TNS:无泋解析指定的连接标识符(原创)
相信作为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_DAT A=
(S I D=S I D_NAME)
)
)
例dev_db=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=172.168.10.5)(PORT=1521))
)
(CONNECT_DAT A=
(SID=ora10)
)
)
通过PL/SQL Developer连接dev_db时报“ORA-12154:TNS:无法解析指定的连接标识符”。 这个问题以前也碰到过但解决方法不太一样 因具体的问题不太一样。
我将自己知道的一些解决方法说一下
1.先检查服务器端的监听服务是否打开如果没有打开请启动其监听
客户端:tnsping<tns_name>
服务器Linux下:
#>ls nrc tl s tatus查看监听状态
#>lsnrc tl 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_DAT A=
(SID=ora10)
)
)
3.如果确保你的tns names.ora内容没有错误那请
将%ORACLE_HOME%\product\10.2.0\db_1\NETWORK\AD MIN目录下的所有文件删了然后重新连接一般就能解决了。
说明一下那个目录里的文件是在你建立连接的时候动态生成的不要怕删了会有问题
4.进入PLSQL Developer的主界面,在登录界面选择取消即不登录进入主界面然后选择菜单Tools(工具)-Preferenc es(首选项)在设置窗口中选择Orac le-Connection(连接)对应设置窗口中找到Oracle Home(Oracle主目录)选择你本地所安装客户端的版本保存设置然后重新启动PLSQL Developer这时就可以正常登录了。
如果您还碰有ORA-12154错误代码的其他原因和有其他的解决方法请跟贴评论我会加以完善这篇文章的谢谢
装了解决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设为空即自动检测。连接正常 问题解决。
二、应用程序中报错
一个很难想到的引起O RA-12154的原因
使用OracleCl ient.OracleConnection时(我连的是Oracle 1 1g其他版本未知)如果你的执行目录太长或者有括号等未考察有些什么符号 那么即使你的服务名是对的也会引起O RA-12154问题“T NS:无法处理服务名”当出现这个问题时请也考虑这个原因。
搬瓦工怎么样?这几天收到搬瓦工发来的邮件,告知香港pccw机房(HKHK_1)即将关闭,这也不算是什么出乎意料的事情,反而他不关闭我倒觉得奇怪。因为目前搬瓦工香港cn2 GIA 机房和香港pccw机房价格、配置都一样,可以互相迁移,但是不管是速度还是延迟还是丢包率,搬瓦工香港PCCW机房都比不上香港cn2 gia 机房,所以不知道香港 PCCW 机房存在还有什么意义?关闭也是理所当然的事情。点击进...
提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...
imidc怎么样?imidc彩虹数据或彩虹网络现在促销旗下日本多IP站群独立服务器,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制月流量!IMIDC又名为彩虹数据,rainbow cloud,香港本土运营商,全线产品都是商家自营的,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非...