安装了Oracle9i,在命令行连接远程Oracle服务器,Oracle正常,然后又安装了oracle10g,这次在命令行连接远程Oracle服务器,却无法连接,提示如下信息:
C:\Documents and Settings\Administrator>sqlplus scott/tiger@test
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 4月 10 09:21:36 2008
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
ERROR:
ORA-12154: TNS: 无法解析指定的连接标识符我已经停止了OracleOraDb10g_home1TNSListener,只启动OracleOraHome92TNSListener,还是连不上,在PL/SQL Developer中通过选择Oracle Home可以连接远程Oracle服务器,现在我不想使用PL/SQL Developer,只想使用命令行连接,如何修改才能连上远程Oracle数据库,请给出详细的过程,谢谢!

解决方案 »

  1.   

    网络上COPY来的.我也不知道能不能解决.自己电脑硬件坏了去医院了.
    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吧。
    处理过程:
        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: 无法处理服务名”,当出现这个问题时,请也考虑这个原因。
      

  2.   

    TNSNAMES.ORA 文件有错误吧?
      

  3.   

    TNSNAMES.ORA没有错,在不想卸载oracle10g的基础上,在命令行想让oracle9i可以访问远程Oracle服务器,如何才能实现?