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

微软的避孕套

微软的避孕套

2016-01-29 14:46

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

    前几天,同事装上oracle的客户端,在ASP.Net下面怎么连都连不到oracle数据库(操作系统是XP,报错找不到OIC.DLL,之前我也遇到过,重装了一下客户端就好了,我用的是2000 professional的系统)。后来我到Oracle官方网站上寻找解决方案,下载了Oracle Developer Tools for Visual Studio .NET 10.1.0.4.0 (ODT for VS.Net),把它装上之后,可以在.net中浏览oracle数据库,估计可以浏览oracle数据库了,应该可以操作oracle数据库,鼓吹通事把ODT for VS.Net装上之后,果然他的机器上的ASP.Net程序可以正常连接oracle了,就是这个问题,昨天装了整整一天的系统。

    今天上午他的问题刚刚解决,下午我这边就出了问题,连接oracle时报错,信息如下"ORA-12154: TNS: 无法解析指定的连接标识符", 到google上到处搜,看到一些英文的网站的答案是修改tnsname.ora就可以修复连接。检查了一下也没发现这个文件的问题。

    估计是安装ODT for VS.Net之后,OracleHome和OracleSID有重复或者无效, 到注册表中一看,果然是有问题,发现HKey_LocalMachineSoftwareOracle下面的Oracle_Home路径被改成了E:program files, 我的oracle是装在E:oracle目录的,于是把这个改了,再试,系统也重起了,依然无效,后来想干脆把ODT 给删了,于是到控制面板找Oracle Developer Tools, 怎么都找不到,到是找到了ODP for .Net,把这个给卸载了,以前装的Oracle Developer Tools目录(E:Oracleproduct10.1.0Client_1)依然没有被删除,于是手动删除这个目录,提示OCI.dll正在使用,无法删除,再尝试把这个目录给重命名了,居然命名成功。于是重启系统,再运行Asp.Net的客户端,成功连接Oracle数据库。

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

    1.检查注册表,HKey_LocalMachineSoftwareOracle下面的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设为空即自动检测。连接正常,问题解决。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)

    二、应用程序中报错:

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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com)


 

展开更多 50%)
分享

猜你喜欢

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

电脑网络
ORA-12154:TNS:无法解析指定的连接标识符

Win7如何查看系统安全标识符SID

电脑网络
Win7如何查看系统安全标识符SID

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Win7旗舰版系统怎么查看进程PID标识符?

电脑网络
Win7旗舰版系统怎么查看进程PID标识符?

ASP与Oracle连接时的TNS错误

ASP
ASP与Oracle连接时的TNS错误

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

肘形连接符或曲线连接符修改

计算机应用技术 word
肘形连接符或曲线连接符修改

sqlsever为标识列指定显式值

编程语言 网络编程
sqlsever为标识列指定显式值

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PHP实现图片简单上传

PHP实现图片简单上传

php和asp对象的等价关系

php和asp对象的等价关系
下拉加载更多内容 ↓