快捷搜索:  MTU2MzQzOTA5Mg`  as  xxx  test  as and 11  1 and 11

oracle提示 ORA12154 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_LocalMachine\Software\Oracle下面的Oracle_Home路径被改成了E: \program files, 我的oracle是装在E:\oracle目录的,于是把这个改了,再试,系统也重起了,依然无效,后来想干脆把ODT 给删了,于是到节制面板找Oracle Developer Tools, 怎么都找不到,到是找到了ODP for .Net,把这个给卸载了,曩昔装的Oracle Developer Tools目录(E:\Oracle\product\10.1.0\Client_1)依然没有被删除,于是手动删除这个目录,提示OCI.dll正在应用,无法删除,再考试测验把这个目录给重命名了,居然定名成功。于是重启系统,再运行Asp.Net的客户端,成功连接Oracle数据库。

总结一下,装了办理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 9i,其他版本未知),假如你的履行目录太长或者有括号等(未考察有些什么符号),那么纵然你的办事名是对的,也会引起ORA-12154问题“TNS: 无法处置惩罚办事名”,当呈现这个问题时,请也斟酌这个缘故原由。

别的,假如呈现OCIEnvCreate 掉败, 返回代码为-1,但差错消息文本弗成用

1、设置设置设备摆设摆设tnsnames.ora。设置设置设备摆设摆设措施网上很多。

2、完善情况变量设置设置设备摆设摆设。情况变量的设置设置设备摆设摆设网上也很多,这里不枚举了

3、最紧张的一点,注册表加入下面键值

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]

"LD_LIBRARY_PATH"="F:\*\bin"

"NLS_LANG"="AMERICAN_AMERICA.ZHS16GBK"

"TNS_ADMIN"="F:\*\bin"

详细路径根据实际环境改动。注册表加入下面键值后,从新调试法度榜样,顺利经由过程。

来自: http://www.fengfly.com/plus/view-171981-1.html

完成了以上几个步骤,发明我的oracle照样连接不上。

经由过程一篇文章我忽然意识到,是不是我的iis没有装全?于是从新安装iis,根据

http://www.fengfly.com/plus/view-171982-1.html

中显示的图片完成了iis的功能扩展。怀着激动的心情,我从新打开了vs2005并运行法度榜样。照样不可……

着末险些扫兴的应用治理员从新启动vs2005,然后点击调试。

居然通了!猖狂欢呼~ 我费了大年夜半天完成这个oracle的调试事情。终于照样没有白搭。早知道这么麻烦就不傻傻的卸掉落oraclexe版了,也不装win7 64位了,也不装win7了。今后开拓回是用xp吧

您可能还会对下面的文章感兴趣: