为什么安装了vs2005以后,PL/SQL Developer远程连接Oracle会出现“ORA-12154: TNS:无法解析指定的连接标”,连接本地数据库就没有问题,是不是安装vs2005以后出现的问题我不确定只是猜测而已,按照网上说的ODT for VS.Net我也卸载了,重启后还是不行,谁能帮帮我解决这个纠结的问题啊?

解决方案 »

  1.   

    装VS2005和pl/sql不冲突,这边一直这么用着,也没什么事。
    楼主最好先确定服务端是OK的,再tnsping试一下,看看 tnsname设置。
      

  2.   

    你在pl/sql的help--suport info下边看看tns对不对
      

  3.   

    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )ORCL100 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.100)(PORT = 1522))
        )
        (CONNECT_DATA =
          (SID = orcl)
        )
      )上面是本地的,下面是服务器的,这个我一直没改过啊,我记得装vs2005之前还用着哪,不知道怎么就不能远程连接了
      

  4.   


    tns肯定没有问题了这个是registrySOFTWARE\ORACLE
      inst_loc = C:\Program Files\Oracle\Inventory  SOFTWARE\ORACLE\KEY_OraDb10g_home1
        ORACLE_HOME = E:\oracle\product\10.2.0\db_3
        ORACLE_HOME_NAME = OraDb10g_home1
        ORACLE_GROUP_NAME = Oracle - OraDb10g_home1
        NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
        ORACLE_BUNDLE_NAME = Enterprise
        OLEDB = E:\oracle\product\10.2.0\db_3\oledb\mesg
        StmtCacheSize = 0
        StatementCacheSize = 0
        ORACLE_SID = orcl
        OO4O = E:\oracle\product\10.2.0\db_3\oo4o\mesg
        SQLPATH = E:\oracle\product\10.2.0\db_3\dbs
        ORACLE_HOME_KEY = SOFTWARE\ORACLE\KEY_OraDb10g_home1
        MSHELP_TOOLS = E:\oracle\product\10.2.0\db_3\MSHELP
        ORACLE_BASE = E:\oracle\product\10.2.0
        RDBMS_CONTROL = E:\oracle\product\10.2.0\db_3\DATABASE
        RDBMS_ARCHIVE = E:\oracle\product\10.2.0\db_3\DATABASE\ARCHIVE
        ORA_ORCL_AUTOSTART = TRUE
        ORA_ORCL_SHUTDOWN = TRUE
        ORA_ORCL_SHUTDOWNTYPE = immediate
        ORA_ORCL_SHUTDOWN_TIMEOUT = 90    SOFTWARE\ORACLE\KEY_OraDb10g_home1\ODP.NET
          TraceFileName = C:\ODPNET.trc
          TraceLevel = 0
          TraceOption = 0
          StatementCacheSize = 0    SOFTWARE\ORACLE\KEY_OraDb10g_home1\OLEDB
          CacheType = Memory
          ChunkSize = 100
          DistribTX = 1
          FetchSize = 100
          OSAuthent = 0
          PLSQLRset = 0
          PwdChgDlg = 1
          SchRstLng = 10000
          UserDefFn = 0
          DisableRetClause = 1
          VCharNull = 1
          TraceCategory = 0
          TraceFileName = c:\OraOLEDB.trc
          TraceLevel = 0
          TraceOption = 0
          SPPrmDefVal = 0
          StmtCacheSize = 0    SOFTWARE\ORACLE\KEY_OraDb10g_home1\OO4O
          CacheBlocks = 20
          FetchLimit = 100
          FetchSize = 4096
          HelpFile = E:\oracle\product\10.2.0\db_3\oo4o\doc\oracleo.hlp
          PerBlock = 16
          SliceSize = 256
          TempFileDirectory = c:\temp
          OO4O_HOME = E:\oracle\product\10.2.0\db_3\oo4o  SOFTWARE\ORACLE\SYSMAN    SOFTWARE\ORACLE\SYSMAN\OracleDBConsoleorcl
          EMDROOT = E:\oracle\product\10.2.0\db_3
          ORACLE_HOME = E:\oracle\product\10.2.0\db_3
          EMSTATE = E:\oracle\product\10.2.0\db_3\d65e8184f65f459_orcl
          CONSOLE_CFG = dbconsole
          ORACLE_SID = orcl
          TIMEOUT = 15
          TRACE_LEVEL = 16  SOFTWARE\ORACLE\VirtualBox
        Version = %VER%
        VersionExt = 4.1.4
        InstallDir = E:\oracle\VirtualBox\
      

  5.   

    有时候本机的tns文件会有多个,plsql访问的有可能不正确。
    你在pl/sql的help--suport info下边有个tns names你看看和你上边贴出来的是不是一样
      

  6.   

    问题解决了,谢谢各位我把
    ORCL100 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.100)(PORT = 1522))
        )
        (CONNECT_DATA =
          (SID = orcl)
        )
      )改成ORCL100=
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.100)(PORT = 1522))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )就能连接了,这个文件没出问题前到出现问题以后我一直也没改过tnsnames.ora这个文件啊,为什么以前就能连哪,我就奇怪了