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:无法处理服务名”当出现这个问题时请也考虑这个原因。
易探云服务器怎么样?易探云是国内一家云计算服务商家,致力香港云服务器、美国云服务器、国内外服务器租用及托管等互联网业务,目前主要地区为运作香港BGP、香港CN2、广东、北京、深圳等地区。目前,易探云推出的国内云服务器优惠活动,国内云服务器2核2G5M云服务器低至330元/年起;成都4核8G/200G硬盘/15M带宽,仅1888元/3年起!易探云便宜vps服务器配置推荐:易探云vps云主机,入门型云...
博鳌云是一家以海外互联网基础业务为主的高新技术企业,运营全球高品质数据中心业务。自2008年开始为用户提供服务,距今11年,在国人商家中来说非常老牌。致力于为中国用户提供域名注册(国外接口)、免费虚拟主机、香港虚拟主机、VPS云主机和香港、台湾、马来西亚等地服务器租用服务,各类网络应用解決方案等领域的专业网络数据服务。商家支持支付宝、微信、银行转账等付款方式。目前香港有一款特价独立服务器正在促销,...
sharktech怎么样?sharktech (鲨鱼机房)是一家成立于 2003 年的知名美国老牌主机商,又称鲨鱼机房或者SK 机房,一直主打高防系列产品,提供独立服务器租用业务和 VPS 主机,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹,所有产品均提供 DDoS 防护。不知道大家是否注意到sharktech的所有服务器的带宽价格全部跳楼跳水,降幅简直不忍直视了,还没有见过这么便宜的独立服...