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

2016-01-29 14:46 85 1 收藏

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

【 tulaoshi.com - Oracle教程 】

    前几天,同事装上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设为空即自动检测。连接正常,问题解决。

    二、应用程序中报错:

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

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

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


 

来源:https://www.tulaoshi.com/n/20160129/1494149.html

延伸阅读
新符文系统丧尸守卫 新符文系统中分支的效果符文丧尸守卫如下图标所示,它可以说是一个非常具有实效用途的符文。玩家在发现敌方的一个眼位视野并将其清除之后可以立即圣城一个丧尸守卫,丧尸守卫会在该位置保持180秒的视野支持,敌对玩家需要通过视野扫描才能将其拆掉。 如图下所示,通过真眼、扫描、幕刃发现敌方视野眼尾的时...
标签: 电脑入门
重新联接一下打印服务器就可以了,步聚如下: 打印机共享具体步骤如下: 1.配置打印机主机 首先我们要在主机上配置打印机。我们暂且称直接连接打印机的电脑为主机,而局域网内其他需要和主机共享打印的电脑称为客户机。 第一步:将打印机连接至主机,打开打印机电源,通过主机的控制面板进入到打印机和传真文件夹,在空白处单击鼠标右键,选择...
标签: 电脑入门
一、网络设置的问题 这种原因比较多出现在需要手动指定IP、网关、DNS服务器联网方式下,及使用代理服务器上网的。仔细检查计算机的网络设置。 二、DNS服务器的问题 当IE无法浏览网页时,可先尝试用IP地址来访问,如果可以访问,那么应该是DNS的问题,造成DNS的问题可能是连网时获取DNS出错或 DNS服务器本身问题,这时你可以手动指定DNS服务...
在说内部连接与外部连接前,先说明一些概念。 1.声明 一个声明将一个名称引入一个作用域; 在c++中,在一个作用域中重复一个声明是合法的 以下都是声明: int foo(int,int); //函数前置声明 typedef int Int; //typedef 声明 class bar; //类前置声明 exter...
标签: 服务器
windows2003 IIS建站时无法指定IP   现象:windows 2003 IIS 上新建web站点的时候,无法选择指定的IP地址 分析过程及解决方案:由于用户修改了计算机名,而修改后的计算机名没有同步到注册表中导致的 解决方法:打开注册表,找到HKEY_LOCAL_MACHINESYSTEMControlSet001ControlComputerNameActiveComputerName 项,将里...

经验教程

419

收藏

40
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部